Ipr(已弃用)
这个运行器能够在 TeamCity 中构建 IntelliJ IDEA 项目。
它已被 IntelliJ IDEA Project 运行器所取代。
这个页面包含有关 IPR 构建运行程序字段的参考信息。
Ipr Runner 弃用
自从 TeamCity 6.0 ,Ipr runner 已被弃用,取而代之的是 IntelliJ IDEA project runner ,它采用了另一种实现方法。 在接下来的一次主要 TeamCity 版本更新中,所有使用 Ipr 运行器的构建配置将会自动转换为 IntelliJ IDEA 项目运行器。 由于各个运行器在特定配置中可能会有不同的功能,因此我们强烈建议您将当前的 Ipr 运行器配置更改为新的运行器,并在最终禁用 Ipr 运行器之前检查您的设置。 请将所有新创建的项目都使用 IntelliJ IDEA 项目运行器,并且如果您遇到任何问题,请通知我们。
除了在支持的 IntelliJ IDEA 项目特性范围上存在差异之外,运行器在测试运行和覆盖率方面的方法也有所不同。
即:
IntelliJ IDEA 项目运行器不支持 EMMA 覆盖率。 我们建议,如果您使用过 EMMA,那么迁移到 IntelliJ IDEA 覆盖引擎。
在 IntelliJ IDEA 项目运行器中,JUnit 测试是通过 IntelliJ IDEA 共享的运行配置启动的,而不是通过 Ipr 运行器中的 Ant's
<junit>
任务。
以下是从 Ipr 迁移到 IntelliJ IDEA 项目运行器的推荐步骤:
如果您现有的 Ipr 运行器已配置 JUnit 测试运行器设置,请备份该部分的所有设置,例如,备份到一个文本文件中。
如果您已配置了 code coverage settings,也请保存这些设置。 (也可参考相关的 问题)
将运行器类型更改为 IntelliJ IDEA Project。 除了 JUnit 和代码覆盖率选项外,您的所有设置都将被迁移。
要恢复 JUnit 测试,您需要在 IntelliJ IDEA 中创建一个共享的运行配置,并将相应的文件提交到版本控制中。 运行配置的名称随后可以在 要执行的运行配置 区域中指定。
为了覆盖率,使用您保存的设置重新配置代码覆盖率选项。
IntelliJ IDEA 项目设置
选项 | 描述 |
---|---|
项目的路径 | 使用此字段来指定项目文件( 路径应相对于签出目录。 |
在 | 如果勾选此选项,则在保存时,所有模块文件将自动扫描全局库和模块 JDK 的引用。 这可以帮助您确保所有引用都能得到正确解析。 |
检查 / 重新解析项目 | 点击以重新解析项目,并直接从 IDEA 项目中导入构建设置,例如 JDKs 列表。 |
工作目录 | 输入一个路径到 构建工作目录,如果它与 构建检出目录 不同。 如有不同,可选地指定与检出目录不同的目录。 |
未解决的项目模块和路径变量
当 IntelliJ IDEA 模块文件( .iml
)被 IPR 文件引用时,此部分会显示:
找不到
允许您输入在 IPR-file 中使用的路径变量的值
要在此部分刷新值,请点击 检查/重新解析项目。
选项 | 描述 |
---|---|
| 如果项目文件包含路径宏,该字段将显示,这些路径宏在 IntelliJ IDEA 的设置对话框中的路径变量对话框中定义。 在 设置字段值 中,指定一个项目资源路径,以用于不同的构建代理。 |
项目 JDKs
这一部分提供了项目中检测到的 JDKs 列表。
选项 | 描述 |
---|---|
JDK 主页 | 使用此字段来为项目指定 JDK 主目录。 |
JDK Jar 文件模式 | 点击此链接以打开一个文本区域,您可以在其中为项目 JDK 的 jre/lib/*.jar 对于 macOS ,请使用以下行: lib/*.jar
../Classes/*.jar
|
IDEA 主页 | 如果您的项目使用 IDEA JDK, 请指定 IDEA 主目录的位置 |
IDEA Jar 文件模式 | 点击此链接可以打开一个文本区域,您可以在其中定义 IDEA JDK 的 |
附加的前/后处理(Ant)
选项 | 描述 |
---|---|
构建前运行 | 在相应的字段中,输入您希望在开始构建之前运行的 Ant 脚本和目标(可选)。 Ant 文件的路径应相对于项目根目录。 |
构建后运行 | 在相应的字段中,输入您希望在构建完成后运行的 Ant 脚本和目标(可选)。 Ant 文件的路径应相对于项目根目录。 |
JUnit 测试运行器设置
选项 | 描述 |
---|---|
测试模式 | 点击 输入测试模式 链接,并在文本区域中指定所需的测试模式。 [-]moduleName:[testFileNamePattern]
where:
*test:**/*Test.java
-*:**/ui/**/*.java
|
搜索测试 | 在 IDEA 项目中,用户可以将源代码目录标记为
|
在测试中的 Classpath | 默认情况下,整个类路径由用于获取测试的所有模块的类路径组成。 以下两个选项定义了您是使用默认的类路径,还是从指定的模块中获取。 |
在测试中覆盖类路径 | 如果选中此选项,您可以从单个、明确指定的模块定义测试类路径。 |
使用 JDK 和 classpath 的模块名称 | 如果选项 Override classpath in tests 被选中,您必须指定模块,该模块中指定了用于测试的类路径。 |
JUnit 分支模式 | 从组合框中选择所需的 fork 模式:
|
为每个测试新建类加载器实例 | 如果您希望为每个测试用例实例化一个新的类加载器,请选择此选项。 只有在选择了 Do not fork 选项后,此选项才可用。 |
包含 Ant 运行时 | 选择此选项以添加运行 JUnit 测试所需的 Ant 类。 如果启用了 fork 模式(每个测试分叉或一次分叉),则此选项可用。 |
JVM 可执行文件 | 指定用于调用 JVM 的命令。 如果启用了 fork 模式(每个测试分叉或一次分叉),则此选项可用。 |
遇到错误时停止构建 | 如果您希望在测试运行过程中出现错误时停止构建,请勾选此选项。 |
JUnit 的 JVM 命令行参数 | 指定传递给 JUnit 任务的 JVM 参数。 |
测试工作目录 | 指定测试的工作目录路径。 |
测试超时 | 指定经过若干毫秒后,测试将被取消。 如果选择了 Do not fork 选项,此值会被忽略。 |
缩短测试失败反馈时间 | 使用以下两种选项来指示 TeamCity 在其他测试之前运行一些测试。 |
首先运行最近失败的测试 | 如果选中,首先,TeamCity 将运行在之前完成或正在运行的构建中失败的测试,以及具有高失败率的测试(即所谓的 闪烁 测试)。 |
首先运行新的和修改过的测试 | 如果选中,TeamCity 会在任何其他测试之前运行在正在构建的更改列表中添加或修改的测试。 |
详细的 Ant | 如果生成的 JUnit 任务需要以 ant 术语生成详细输出,请选中此选项。 |
Code Coverage(代码覆盖率)
要了解如何配置代码覆盖率选项,请参阅 配置 Java 代码覆盖率 页面。