2016-01-22 131 views
6

我想弄清楚为什么我得到错误的原因,当我试图运行一些测试创建并运行了一段时间。这是测试类:Junit测试与@RunWith(PowerMockRunner.class)失败 - “没有测试发现匹配..”

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”方法上单击右键,选择“运行方式/ JUnit测试”。

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 [email protected] 
    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

你是否尝试使用另一个类名?例如:OnewayOldFormatterTest –

+0

上面的方法是一个大的Junit测试,之前工作过,我创建了它。起初,我对你的建议不太清楚,但将课程改名为另一个名称。同样的结果。我甚至用相同的结果尝试过其他测试类。我已经为这个问题做了大量的搜索,并且完成了所有的建议但没有结果。它必须是我的电脑,因为同事可以在没有问题的情况下运行。 – schu777

+0

我想说'PowerMockRunner'试图找到所有的PowerMock值来替换它们自己的实现。它似乎没有设置任何。尝试添加一个'@ PrepareForTest'注释,并至少有一个类,以便它可以被选择... – SKBo

回答

6

至于'org.powermock:powermock-api-mockito2:1.6.5'版本Powermock我管理这个从方法层面移动@PrepareForTest批注一流水平的工作。

+0

伟大的,拯救我的一天!谢谢! – Brain

+0

谢谢..救了我的一天 – Asthme