为什么某些 JUnit 测试无法在 NetBeans 和/或 Hudson 中执行?

发布于 2024-08-11 18:12:43 字数 124 浏览 3 评论 0原文

当我右键单击 NetBeans 中的项目并选择“测试”时,某些单元测试未运行。如果我右键单击包含单元测试的 .java 文件并选择测试文件,单元测试就会运行。另外,我在 Hudson CI 中有这个项目,但那些相同的单元测试没有运行。

When I right click a project in NetBeans and choose Test, certain unit tests aren't running. If I right click the .java file that contains the unit tests and choose Test File, the unit tests do run. Also I have this project in Hudson CI and those same unit tests don't get run.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

早乙女 2024-08-18 18:12:43

只有以项目中带有后缀 Test 的类命名的类中的测试才会被执行。例如,单元测试类 FooTests 中的测试永远不会运行(后缀不完全是 Test)。仅当项目有一个名为 Foo 的类时,单元测试类 FooTest 中的测试才会运行。

很高兴知道为什么必须这样......

编辑< /strong>:我的初步诊断只部分正确。我发现 此论坛帖子 解释说这是 NetBeans/JUnit 问题。运行测试的 NetBeans ant 目标仅在与掩码匹配的所有文件中查找测试:*Test.java。您可以在 nbproject 文件夹中的 build-impl.xml 的 -do-test-run 目标中看到这一点。因此,您只需确保所有单元测试类都以后缀 Test 结尾,就可以了。

Only the tests in classes named after a class in the project with the suffix Test will get executed. For example, tests in unit test class FooTests will never run (suffix isn't exactly Test). Tests in unit test class FooTest will run only if the project has a class named Foo.

It would be nice to know why it has to be this way...

Edit: I was only partially correct in my initial diagnosis. I found this forum post which explains that it is a NetBeans/JUnit issue. The NetBeans ant target that runs tests only looks for tests in all files matching the mask: *Test.java. You can see this in the -do-test-run target in build-impl.xml in the nbproject folder. Thus you just have to make sure all unit test classes end with the suffix Test and you should be fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文