7

我有许多 JUnit 测试,它们都是由 Netbeans 的助手创建的(所以没有定制)。我可以通过执行“测试文件”(Ctrl+F6)手动运行每个测试。

但是当我使用“运行-> 测试项目”时,会显示“未执行测试”消息。

我必须在某处注册每个 JUnit 测试吗?
或者这里可能是什么问题?

在此之前,输出窗口中会出现以下内容:

init:
Deleting: /MY-WORK/my.data.adv/build/built-jar.properties
deps-jar:
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties
my.commons.init:
my.commons.deps-jar:
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties
my.commons.compile:
Copy libraries to /MY-WORK/my.commons/dist/lib.
my.commons.jar:
my.data.init:
my.data.deps-jar:
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties
my.data.compile:
Copy libraries to /MY-WORK/my.data/dist/lib.
my.data.jar:
compile:
compile-test:
test-report:
test:
BUILD SUCCESSFUL (total time: 0 seconds)

编辑

  • 项目类型为“类库”,使用自定义配置build.xml

  • 也许值得一提的是,该项目很旧(使用 6.7 之前的某些 Netbeans 版本创建)。

4

4 回答 4

9

由于我提交了生成答案所需的正确线索,我认为我应该为其添加一些价值......

如果使用 NetBeans 创建 Java->Class Library 项目,则可以创建与项目源包中的每个类相关联的单元测试。您只需在项目资源管理器中右键单击该类。

如果您正在为项目创建“第一个测试”,IDE 允许您在 JUnit 3 和 JUnit 4 之间进行选择。

当您为 abcNewClass 创建测试时,NetBeans 将允许您将测试命名为您想要的任何名称并将测试放在您想要的任何包中......大多数时候,您不想更改对话框中显示的默认值( abcNewClassTest)。在 NetBeans 6.9 版本中,如果您要创建的测试名称没有“Test”作为后缀,则会出现警告。

如果您创建的测试类名称不以“Test”结尾,您仍然可以在对项目使用 Test 操作时让它们运行。您只需要从“正常”测试类中触发它们。

于 2010-03-03T00:30:24.473 回答
7

感谢用户vkraemer

解决方案是:只有名称以 . 结尾的 JUnit 测试才会运行Test

build-impl.xml证明它的部分:

<target depends="init,compile-test,-pre-test-run"
    if="have.tests" name="-do-test-run">
  <j2seproject3:junit testincludes="**/*Test.java"/>
</target>
于 2010-03-02T21:12:52.213 回答
2

如果您使用的是 maven,您可能需要检查 pom.xml 上的surefire 插件

...
 <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.11</version>
            <configuration>
                <includes>
                    <include>**/*Test.java</include>                        
                </includes>
                <systemPropertyVariables>
                    <java.util.logging.config.file>src/test/resources/logging.properties</java.util.logging.config.file>
                </systemPropertyVariables>
            </configuration>
        </plugin>


  ...
于 2013-11-20T21:37:22.370 回答
0

我的测试正在运行,然后它们停止了,只显示:

未执行任何测试。(0.0 秒)

问题VM Options:-D. 这导致了问题:

-D mysetting.home=something

这解决了它:

-Dmysetting.home=something
于 2010-06-03T15:55:32.347 回答