java - 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 构建脚本的问题。
解决方案
推荐阅读
- c - 调整 argVector
- python - tf.while_loop 在并行运行时给出错误的结果
- ios - 使用 Swift CoreData 进行动态过滤
- javascript - 字符串操作 - 将除方括号外的每个单词都用引号括起来
- php - 使用 Not Where 条件编写 Eloquent 版本的查询
- php - 键是数组固有的吗?
- git - 尽管“git reset --hard HEAD~1”,不需要/未跟踪的文件仍在 .git 目录中
- windows - 从带有 2 个条目的 windows 命令行执行 Perl 脚本
- elasticsearch - Elasticsearch 同义词映射是双向的?
- java - Undertow:如何控制选择主机取决于请求正文内容?