我正在尝试在我的TeamCity构建中运行需要openJPA增强的单元测试(我使用的是openjpa 2.0.1)。我的构建配置基于我的Intellij项目。 (即我没有使用Maven / Ant来构建,而是TeamCity提供只需提取存储在.idea文件夹中的Intellij项目配置来确定如何编译/构建项目。)我正在运行测试,包括intellij运行配置在Intellij项目构建步骤中。
在我的本地IDE(Intellij)中,我可以通过包含-javaagent:<path to openjpa jar>
vm参数来运行我的集成测试。
当我在团队城市构建中运行相同的“运行配置”时,实体没有得到增强,因此我的测试失败了。
这样做的任何提示或想法?我已经尝试使用ant来进行构建时增强但是a)我没有成功地让它在本地工作并且b)teamcity中的intellij项目步骤清除了任何现有的输出文件夹(因此增强的类被丢弃。)
答案 0 :(得分:2)
有时候归结为RTFM ...
我尝试做的是通过在我的Intellij运行配置中配置运行时(通过JVM args和javaagent)或构建时(通过Ant任务)增强来运行我的测试。不幸的是,这不受支持。
http://confluence.jetbrains.net/display/TCD65/IntelliJ+IDEA+Project
TeamCity IntelliJ IDEA运行器支持IntelliJ IDEA的子集 特性:
JUnit 3.x / 4.x -
- 不支持测试运行器参数
- 不支持在测试开始之前运行Ant或Maven
- 不支持替代JRE
所以我的解决方案(按预期工作)是在我的TeamCity项目配置中配置以下步骤:
正如我所看到的,使用intellij项目和intellij运行配置,使用TeamCity中的单个Intellij Runner步骤无法实现此目的。
我已向TeamCity人员提交了一项功能请求: http://youtrack.jetbrains.net/issue/TW-18739