2017-12-26 32 views
1

非常に奇妙なエラーが発生しました。Kotlinクラスは、androidTestパッケージに入っていてもjunitテストとして実行されます。Javaクラスの場合、通常実行されます。

私は私のKotlinクラスでandroidTestパッケージに、彼らはテスト用のJUnit mehthodsとして実行されていると、このエラーが表示されているテスト実行しよう:「COM:見つからない終了コード1 クラスを終え

プロセスを.someampp.shoppinglistapp.SomeClassTest "空のテストスイート。

あなた自身で試すことができます。私はJavaでこのようなクラスを作成していたとき、私は、Android Studioの3.0.1

を使用しています:

@RunWith(AndroidJUnit4.class) 
public class SomeTestClass{ 
@Test 
public void useAppContext() throws Exception { 
    // Context of the app under test. 
    Context appContext = InstrumentationRegistry.getTargetContext(); 

    assertEquals("com.myapp.shoppinglistapp", appContext.getPackageName()); 
    } 
} 

すべてが正常に動作します。

しかし、私はKotlinにJavaファイルを変換する場合:

@RunWith(AndroidJUnit4::class) 
class SomeTestClass{ 
@Test 
@Throws(Exception::class) 
fun useAppContext() { 
    // Context of the app under test. 
    val appContext = InstrumentationRegistry.getTargetContext() 

    assertEquals("com.myapp.shoppinglistapp", appContext.packageName) 
    } 
} 

それは私に、このエラーが発生します。

何が間違っていますか?

答えて

1

Run/Debug configurationsを開いてAndroid JUnitの代わりにAndroid Instrumented Testsを作成する必要があります。

+0

これは、すべてのテストで手動で行う必要があることを意味しますか? – Konrad

+0

メソッド名の隣にある「再生」ボタンをクリックするのではなく... – Konrad

+0

いいえ、ツールバーの設定ドロップダウンの横にある実行(またはデバッグ)ボタンを1回押すだけです。または[実行]メニューにあります。またはキーの組み合わせ。 –