找不到 Eclipse 中的 UISpec4J 测试

UISpec4J tests in Eclipse are not found

我正在尝试 运行 使用 UISpec4J 库进行测试,但 Eclipse 说找不到它们。我试过重新启动 Eclipse、清理项目等

class 没有给出任何错误,我已经按照 website 中给出的示例进行操作。

package com.health.gui;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.uispec4j.Button;
import org.uispec4j.Panel;
import org.uispec4j.UISpec4J;
import org.uispec4j.UISpecTestCase;
import org.uispec4j.Window;
import org.uispec4j.interception.WindowInterceptor;

import com.health.gui.input.xmlwizard.XmlFilePanel;

public class TestXmlFilePanel extends UISpecTestCase { 
    static {
        UISpec4J.init();
    }

    private Panel panel;

    @BeforeClass
    public void setUp() {
        panel = new Panel(new XmlFilePanel());
    }

    @Test
    public void editWithoutSelectedTest() {
        Button edit = panel.getButton("Edit selected");        
        Window popup = WindowInterceptor.run(edit.triggerClick());
        popup.titleEquals("Warning!");
    }
}

我得到以下堆栈跟踪:

junit.framework.AssertionFailedError: No tests found in com.health.gui.TestXmlFilePanel
    at junit.framework.Assert.fail(Assert.java:57)
    at junit.framework.TestCase.fail(TestCase.java:227)
    at junit.framework.TestSuite.runTest(TestSuite.java:100)
    at junit.framework.TestCase.runBare(TestCase.java:141)
    at junit.framework.TestResult.protect(TestResult.java:122)
    at junit.framework.TestResult.runProtected(TestResult.java:142)
    at junit.framework.TestResult.run(TestResult.java:125)
    at junit.framework.TestCase.run(TestCase.java:129)
    at junit.framework.TestSuite.runTest(TestSuite.java:255)
    at junit.framework.TestSuite.run(TestSuite.java:250)
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    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)

我真的不知道哪里出了问题。也许你有什么建议?

纯属娱乐。您可以删除 class 中的 "extends UISpecTestCase" 并试一试,看看它是否有效:)

Junit 4.X 应该很好地支持注释,我没有看到任何你需要扩展 UISpecTestCase 的理由。