JUnit:AssertionFailedError,未找到测试

时间:2012-06-06 15:10:46

标签: java exception junit

这是我的问题testMethod

public class DetailsTest extends TestCase
{
    public void testGetQuotes() throws Exception
    {
        int bookSize = getBookSize();
        List<Details> detailList = getDetailLists();
        assertNotNull(bookSize);
        assertEquals(bookSize, detailList.size());
        assertNotNull(detailList.size());
    }
}

我的课程延伸JUnit : TestCase,不知道导致问题的地方有什么问题......我正在使用junit 3.8.1

更新 我在SO上也经历了类似的问题,但它并没有太大帮助。

更新2: StackTrace

1) warning(junit.framework.TestSuite$1)junit.framework.AssertionFailedError: No tests found in com.comp.Details.DetailsTest
    at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
    at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
    at junit.extensions.TestSetup.run(TestSetup.java:23)

FAILURES !!! 测试运行:1,失败:1,错误:0

更新3:我刚在testSuite中使用了Details类而不是DetailsTest,修复了它,现在它工作正常......其中一天......你看......

3 个答案:

答案 0 :(得分:2)

您是否正在调用addTestSuite

suite.addTestSuite(DetailsTest.class)

你应该在哪里调用addTest

suite.addTest(DetailsTest.class)

答案 1 :(得分:1)

如果您的测试是在Android框架中,请将其添加到您的gradle文件中:

  defaultConfig {
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  }

  packagingOptions {
     exclude 'LICENSE.txt'
  }

然后没关系。

答案 2 :(得分:0)

在迁移的情况下,使用JUnit4TestAdapter使您的测试类适应新环境。

如果出现junit.framework.AssertionFailedError: No tests found错误,它会很有用。

ex:TestSuiteEx包含我的所有测试用例类:

@RunWith(Suite.class)
@SuiteClasses({ 
    SampleTest.class,
    myTestCases.class
})

然后我添加了包含以下代码的AllTests

public static Test suite() {
    TestSuite suite = new TestSuite("all tests");
    suite.addTest(new JUnit4TestAdapter(TestSuiteEx.class));
    return suite;
}

它完美地对我有用。 :)

快乐的编码。