10

私は自分のアプリケーション用に、Robotium ライブラリを使用する Scala で記述された Android テストの小さなスイートを開発しました。このスイートは、あらゆる意味で標準の Android JUnit テスト プロジェクトであり、Eclipse から起動すると正常に実行されます。

sbt android-plugin を使用して、メインの Android アプリケーションを既に正常にビルドして実行しています。メイン アプリケーションは にあり[ProjectDir]/src/mainます。また、ディレクトリにあるAndroid テスト アプリケーションを正常にビルドすることもできました。エミュレータを確認したところ、テスト アプリケーションは android-plugin のコマンド[ProjectDir]/tests/src/mainで正しくインストールされているようです。tests/android:install-emulatorただし、を介してテスト プロジェクトを実行しようとすると、次のsbt tests/android:test-emulatorようになります。

...
Test results for InstrumentationTestRunner=
Time: 0.001

OK (0 tests)

プロジェクトにJUnitテストが含まれていることをsbt android-pluginに認識させて実行するにはどうすればよいですか?

4

1 に答える 1

1

ここで使用される命名規則は通常の JUnit と同じであるため、テストに xxxTest.class という名前を付ける必要があります。また、TestCase (AndroidTestCase、InstrumentationTestCase など) を拡張する必要があります。

繰り返しますが、Eclipse は次のようなコマンドを実行します。

adb shell am instrument -w -e class com.android.foo.FooTest,com.android.foo.TooTest com.android.foo/android.test.InstrumentationTestRunner

クラス名をコマンドに追加するため、命名規則が適用されない場合があります。

sbt から実行すると実行されます

adb shell am instrument -w com.android.foo/android.test.InstrumentationTestRunner

これにより、アプリケーション com.android.foo のパッケージ名の下にあるすべてのクラスが検索され、someClassNameTest で終了します。

于 2012-01-30T16:49:25.217 に答える