【问题标题】:Netbeans: "Run -> Test Project" doesn't do anythingNetbeans:“运行 - >测试项目”没有做任何事情
【发布时间】:2010-03-02 19:59:17
【问题描述】:

我有许多 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 版本创建)。

【问题讨论】:

  • 究竟是什么类型的项目? (桌面、Web、其他)
  • 你是如何命名类文件的?你把文件放在哪里了?
  • 一切都是经典:JUnit 测试在包文件夹“test”(标签“Test Packages”)中。 JUnit 测试在包中,与被测类同名。
  • 当我在 NB 6.8 中遇到这种情况时,这是由于以下原因... JUnit 测试不在名为 *Test.java 的文件中。
  • @vkraemer:你是对的!请写下这个作为答案,以便我将其标记为正确!我在build-impl.xml 中找到了以下内容:

标签: java netbeans ant junit netbeans6.8


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    感谢用户vkraemer

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

    build-impl.xml 的部分证明了这一点:

    <target depends="init,compile-test,-pre-test-run"
        if="have.tests" name="-do-test-run">
      <j2seproject3:junit testincludes="**/*Test.java"/>
    </target>
    

    【讨论】:

      【解决方案3】:

      如果您使用的是 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>
      
      
        ...
      

      【讨论】:

        【解决方案4】:

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

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

        问题是VM Options:-D 之后有一个额外的空格。这导致了问题:

        -D mysetting.home=something
        

        这解决了它:

        -Dmysetting.home=something
        

        【讨论】:

          猜你喜欢
          • 2020-12-21
          • 1970-01-01
          • 1970-01-01
          • 2012-09-07
          • 2016-10-02
          • 2013-09-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多