0

こんにちは、単体テスト初心者です。ライブラリ プロジェクトの単体テスト ケースを作成しています。ライブラリには非同期ネットワーク呼び出しのみが含まれています。テストケースを書くために、ロボティウムとアンドロイドのインストルメンテーションフレームワークを試しました。次のエラーが表示されます

----- begin exception -----
      I/TestRunner( 1578): 
I/TestRunner( 1578): junit.framework.AssertionFailedError: Add result should be 100 but          was 80
I/TestRunner( 1578):    at junit.framework.Assert.fail(Assert.java:50)
I/TestRunner( 1578):    at junit.framework.Assert.assertTrue(Assert.java:20)
I/TestRunner( 1578):    at com.mamlambo.article.simplecalc.test.MathValidation.test1AddDecimalValues(MathValidation.java:66)
I/TestRunner( 1578):    at java.lang.reflect.Method.invokeNative(Native Method)
I/TestRunner( 1578):    at java.lang.reflect.Method.invoke(Method.java:511)
I/TestRunner( 1578):    at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
I/TestRunner( 1578):    at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
I/TestRunner( 1578):    at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:192)
I/TestRunner( 1578):    at junit.framework.TestCase.runBare(TestCase.java:134)
I/TestRunner( 1578):    at junit.framework.TestResult$1.protect(TestResult.java:115)
I/TestRunner( 1578):    at junit.framework.TestResult.runProtected(TestResult.java:133)
I/TestRunner( 1578):    at junit.framework.TestResult.run(TestResult.java:118)
I/TestRunner( 1578):    at junit.framework.TestCase.run(TestCase.java:124)
I/TestRunner( 1578):    at   android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
I/TestRunner( 1578):    at   android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
I/TestRunner( 1578):    at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
I/TestRunner( 1578):    at   android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584)
I/TestRunner( 1578): ----- end exception -----

eg: の条件が失敗するassertTrue(false)と、実行が突然停止します。他のテストケースを実行する必要がありますよね?? または、私が何か間違ったことをしています。助けてください。

ここに私のテストケースがあります

 public void test1AddDecimalValues() {

        String mathResult = "80";
        assertTrue("Add result should be " + "100" + " but was "
                + mathResult, mathResult.equals("100"));
    }   
4

1 に答える 1

3

アサーションが失敗した場合、現在のテストは中止されます。このアサーションが失敗するかどうかに関係なく、他のテストを実行したい場合。別のテスト方法に入れます。

JUnit アンチパターンに関するこのページを強くお勧めします。テスト精神を維持してください!

于 2013-07-19T12:20:52.233 に答える