1. ホーム
  2. java

[解決済み] Androidにおける@SmallTest、@MediumTest、@LargeTestのアノテーションの目的は何ですか?

2022-11-04 03:48:21

質問

私はAndroidの初心者ですが、これらのアノテーションを使用したサンプルコードを見たことがあります。例えば

@SmallTest
public void testStuff() {
    TouchUtils.tapView(this, anEditTextView);
    sendKeys("H E L P SPACE M E PERIOD");
    assertEquals("help me.", anEditTextView.getText().toString());
}

このアノテーションは何を実現するのでしょうか?

どのように解決するのか?

への追加として Davidannの回答 と、主に OPの質問 というコメントで

<ブロッククオート

上のコードの文脈では、実際に DO 他の開発者のためにメモを残す以外に何かありますか?それは何かを強制するのでしょうか?このアノテーションを利用したツールはありますか?Androidの開発において、このアノテーションは何のためにあるのでしょうか?

特定のアノテーションを付与したテスト群を実行することができます。

から AndroidJUnitRunnerのドキュメント :

特定のテストサイズを実行する、すなわち、アノテーションされた スモールテスト あるいは ミディアムテスト または ラージテスト :

adb shell am instrument -w -e size [small|medium|large] com.android.foo/android.support.test.runner.AndroidJUnitRunner

これらのパラメータは、gradleから設定することもできます。


    android {
        ...
        defaultConfig {
            ...
            testInstrumentationRunnerArgument 'size', 'Large'
        }
    }

gradle経由です。

-Pandroid.testInstrumentationRunnerArguments.size=small

参照 Doug Stevensonブログ記事 と同様に このブログの記事 をご覧ください。