1

uiautomator でテストを実行しています。テストが終わったら、結果をテストする必要があります。私の問題は、1 つのテストが失敗することであり、他のテストはテストされません。他のテストの結果に関係なく、すべてをテストする必要があります。これは私の試みです:

public void testSomeUI() {
  ////lots of stuff

  assertEquals(///assertion///);
  assertEquals(///assertion///);
  assertEquals(///assertion///);
  ....and so on
}

また、私は試しました:

public void testSomeUI() {
  ////lots of stuff

 testValue1();
 testValue2();
 testValue3();
  ....and so on
}

  private void testValue1(){
   assertEquals(///assertion///);
}  
  private void testValue2(){
   assertEquals(///assertion///);
}   
  private void testValue3(){
   assertEquals(///assertion///);
} 
..and so on

1 つが失敗すると、最後の 3 つが実行されません。助言がありますか?ありがとう。

4

1 に答える 1

0

問題は、アサートが失敗すると、メソッドから抜け出すことです。そのため、残りは実行されません。

JUnit のようなテスト フレームワークを使用してみてください (UIAutomator が構築されているようです)。次に、アサートごとに 1 つのメソッドを記述します。そうすれば、毎回すべてのアサートを実行するだけでなく、テストを適切な小さなサイズに分割することもできます。適切に名前が付けられていれば、失敗したテストの名前から問題の実際の場所がわかるため、デバッグはまったく必要ないかもしれません。

たとえば、ここにチュートリアルへのリンクがあります。

于 2013-11-27T17:13:11.013 に答える