在使用junit的时候如果一个测试的函数为private的时候 会出现下面问题:
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test2], {ExactMatcher:fDisplayName=test2(web27.jedis.JedisTest)], {LeadingIdentifierMatcher:fClassName=web27.jedis.JedisTest,fLeadingIdentifier=test2]] from org.junit.internal.requests.ClassRequest@2d38eb89
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
如果类中有多个注解@Test,其中有一个方式不小心写成private时候 会出现上面错误。
解决办法:
@Test
private void test2() {
}
把private 修改成public 即可:
@Test
public
void test2() {
}
本文探讨了在JUnit中尝试测试私有方法时遇到的问题,并提供了详细的错误信息及解决办法。当测试方法被错误地标记为private时,JUnit将无法找到对应的测试用例并抛出异常。文章给出了正确的解决方案,即将private修饰符改为public。

862





