java - 使用 @RunWith(PowerMockRunner.class) 的 Junit 测试失败 - "No tests found matching.."

标签 java eclipse junit

我试图找出当我尝试运行一些已创建并运行了一段时间的测试时出现错误的原因。这是测试类:

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

如果需要其他信息,请告诉我我可以做什么以及如何为您获取这些信息。

谢谢,迈克尔

最佳答案

至于 Powermock 的 'org.powermock:powermock-api-mockito2:1.6.5' 版本,我通过从方法级别移动 @PrepareForTest 注释来管理这个工作达到类(class)水平。

关于java - 使用 @RunWith(PowerMockRunner.class) 的 Junit 测试失败 - "No tests found matching..",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34956084/

相关文章:

java - 为什么 Spring Metrics 显示初始堆大小大于最大大小?

java - Eclipse:来自其他项目的引用源

java - Android Studio 1.2.2,如何更改新模块的默认包名称

java - 多态性无法正常工作

java - 当类是spring bean时,Eclipse类加载断点不会被触发

java - 由于未找到 Junit 测试报告,Jenkins 构建失败 : Intern Framework

java - 测试硬编码数据的最佳方法

java - 验证对静态方法的调用

java - 文本流向 HTML

php - Eclipse PDT 中的 HTML 所见即所得编辑器