2017-03-08 5 views
2

Android StudioでのテストにRobolectricを使用しています。AndroidStudio 2.3アップデート後のRobolectricテストでのRuntimeEnvironment.application

2.2.xから2.3への最近の更新後、すべてのテストはRobolectric(つまり@RunWith(RobolectricTestRunner.class))で失敗します。

具体的には、RuntimeEnvironment.applicationがテスト用に作成されたカスタムアプリケーションタイプを返さないように見えるため、ここではClassCastExceptionが発生しています。

MyTestApplication testApp = (MyTestApplication) RuntimeEnvironment.application; 
// do something with testApp 

どうやら私はそうだ、昔ながらの代わりに、予想されるタイプのandroid.app.Application ...

核心:

  • どちらのテストを、また設定がを変更された、唯一のもの私はAndroidStudioのアップデートをしました(私は確かにgit reset --hardでした)。
  • 私のテストでは、というテストがうまくいくので、これはAndroidスタジオのテストランナーに問題があると思います。

:(

私は再ダウンロードしようとしたとAndroidメーカー(再インストール...無効なキャッシュが+再起動し、私は、Android Studioでちょうど約すべてのもの、きれいなように/再構築を試みたと思いますが、Gradleのファイルを再同期2.2.3と2.3のバージョン)私は念のため、私の地元のGradleキャッシュと私の地元.m2レポを掃除しますが、無駄に... :(

+0

同じ問題...これまでのところ何も分かっていません。 –

+0

ASは依存関係の変更が非常に退屈で、時にはキャッシュを無効にして再起動する必要がありますか? –

答えて

1

は解決策が見つかりました:。

  1. ゴー実行>構成の編集JUnitのための実行/デバッグの構成におけるション
  2. その後、>アプリでJava
  3. はフィールドに作業ディレクトリ$MODULE_DIR$を追加します。
関連する問題