我试图弄清楚当我尝试运行一些已经创建并且确实运行一段时间的测试时我遇到错误的原因。这是Test类:
package com.chw.pxi.impl.oneway.formatter;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
public class OnewayOldFormatterTestsWhy
{
@Before
public void setUp()
{
}
@Test
public void
test_nothing()
{
System.out.println("Yep");
}
}
当我尝试运行" test_nothing"时出现错误。右键单击方法,选择" Run As / Junit test"。
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test_nothing], {ExactMatcher:fDisplayName=test_nothing(com.chw.pxi.impl.oneway.formatter.OnewayOldFormatterTestsWhy)], {LeadingIdentifierMatcher:fClassName=com.chw.pxi.impl.oneway.formatter.OnewayOldFormatterTestsWhy,fLeadingIdentifier=test_nothing]] from org.junit.internal.requests.ClassRequest@3632be31
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:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
此项目的构建路径中有很多jar文件。我想我应该尝试创建一个新项目,看看问题是否存在。旁注 - 当我在另一个具有此测试的测试中运行测试时 - 它运行良好而没有上述错误:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"dao-tests-context.xml"})
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true)
//Note: This is a live database test but transactions will be rolled back
//except those that invoke methods that require new transactions
public class AgencyDaoTests
如果需要其他信息,请告诉我我可以做些什么以及如何获取这些信息。
谢谢,迈克尔
答案 0 :(得分:11)
对于Powermock的'org.powermock:powermock-api-mockito2:1.6.5'
版本,我通过将@PrepareForTest
注释从方法级别移动到类级别来管理它。