首页 > 解决方案 > TestNG 不会在 Netbeans Java 模块化项目中构建/运行测试

问题描述

我使用选项“Java Modular Project”在 Apache Netbeans 10 中创建了一个新项目,创建了一个模块,将现有源包复制到模块的“类”树中,并将现有测试包(使用 TestNG 框架)复制到“测试“ 树。配置了依赖项,并且适当调整了 module-info.java 文件,没有错误显示,并且“Clean and Build Project”报告没有错误。

但是我无法执行任何 TestNG 测试。右键单击单个测试类并选择“测试”或“运行”根本不会发生任何事情。右键单击我的主测试套件 XML 文件并选择“测试”会导致控制台上出现以下内容(为便于阅读而收缩的路径):

/home/.../ProjectName/nbproject/build-impl.xml:1629: The following error occurred while executing this line:
/home/.../ProjectName/nbproject/build-impl.xml:557: The following error occurred while executing this line:
/home/.../ProjectName/nbproject/build-impl.xml:544: The following error occurred while executing this line:
/home/.../ProjectName/nbproject/build-impl.xml:495: /home/.../ProjectName/build/test/classes does not exist.
BUILD FAILED (total time: 0 seconds)

为什么提到构建过程build/test/classes我不知道,因为它看起来像 Java 模块化项目使用路径build/test/modules(至少这是我在使用 Files 窗口检查目录结构时看到的)。

这些测试在使用非模块化 Java 项目的 Netbeans 8 中运行良好,因此问题不在于测试本身。

TestNG 的构建/运行过程是否已知在涉及模块化 Java 项目的 Netbeans 中被破坏,或者我在创建和配置这个模块化项目时做错了什么?

更新:在 Netbeans 10 中将整个项目重新创建为 Maven 项目,构建和测试操作确实会导致 TestNG 测试类编译和执行。所以我认为这是 Netbeans 10 用于模块化 Java 项目的 Ant 构建脚本的问题。

标签: javanetbeansanttestngjava-module

解决方案


推荐阅读