ErrorCollector
アサーションの失敗によってテストが中止されないように、単体テストで使用しようとしています。代わりに、テストの最後に失敗の数を確認し、その数が 0 より大きい場合にのみテストを失敗させたいと考えています。
したがって、私の基本的なテストは次のようになります。
@RunWith(AndroidJUnit4.class)
public class SampleAndroidTest {
@Rule
public ErrorCollector errors = new ErrorCollector();
@Test
public void testErrorCollector() throws Exception {
try {
assertEquals(1, 1); // should pass
} catch (Throwable t) {
errors.addError(t);
}
try {
assertEquals(1, 2); // should fail
} catch (Throwable t) {
errors.addError(t);
}
try {
assertEquals(1, 3); // should fail
} catch (Throwable t) {
errors.addError(t);
}
}
}
errors
ただし、オブジェクトをどうするかはわかりません。のJavadoc はErrorCollector
、失敗の数などを取得する方法を示していません。現在のアプローチでは、最後の失敗のみが表示されています。
String
を使用してオブジェクトを に変換しようとしましたtoString()
が、メモリ アドレスのみが得られ、他のスタック トレースは得られません。他のスタックトレースを取得する方法があり、解決策は簡単だと確信していますが、一生それを理解することはできません.