AndroidManifest.xmlに
これを検索しても、特に言及されてるページが出て来ないので、そもそもの部分で何かが間違っている気がしてならない。JUnit「そんな継承されたやつは生成してねーよ」って話なんだろうけど、一応、JUnitからでもActivity内および、Activityから起動したService内であればエラーがでない模様。
なお、MyApplicationでOverrideしているonCreateメソッドは呼ばれている模様。
PR:入門 Androidアプリケーションテスト
<application android:name="net.takaiwa.MyApplication" ・・・ </application>と定義しており、android.app.Applicationを継承しているMyApplicationというクラスがあるのだけど、これをMyApplication app = (MyApplication)this.getApplication();とキャストして使っているServiceをJUnitのServiceTestCaseを継承しているクラスからstartServiceで起動すると以下のようなエラーが出て失敗する。
java.lang.ClassCastException: android.test.mock.MockApplication cannot be cast to net.takaiwa.MyApplication
これを検索しても、特に言及されてるページが出て来ないので、そもそもの部分で何かが間違っている気がしてならない。JUnit「そんな継承されたやつは生成してねーよ」って話なんだろうけど、一応、JUnitからでもActivity内および、Activityから起動したService内であればエラーがでない模様。
なお、MyApplicationでOverrideしているonCreateメソッドは呼ばれている模様。
追記:2014/01/05
解決方法を以下に記述しました。試行錯誤ログ: AndroidのカスタムApplicationをテストで差し替える
http://www.takaiwa.net/2014/01/androidapplication.html
PR:入門 Androidアプリケーションテスト
コメント
コメントを投稿