我正在使用 Intellij Idea 版本 12(终极版)。刚刚安装了 Team City(版本 8)。一个默认代理,在 linux 中运行。
我创建了一个非常简单的测试应用程序:
公共类主要{ 公共静态无效主要(字符串[]参数){ System.out.println("Hello World!"); } 公共整数总和(整数 x,整数 y){ 返回 x+y; } }
...和一个非常简单的测试...
导入 junit.framework.Assert; 导入 org.junit.Test; 公共类 MainTest { @测试 公共无效 testSum() 抛出异常 { 主要测试=新的主要(); Assert.assertEquals("总和应该是 7",7,test.sum(4,4)); } }
如果我在 IntelliJ 中运行它,测试就会正常运行并失败。
相反,如果我提交这个项目并将其推送到 github,TeamCity 会看到更改并开始构建。构建很快失败,并出现以下错误:
/home/ctb/TeamCity/buildAgent/work/742505fa88794219/test/MainTest.java:1:包junit.framework不存在 导入 junit.framework.Assert; ^ /home/ctb/TeamCity/buildAgent/work/742505fa88794219/test/MainTest.java:2:包org.junit不存在 导入 org.junit.Test; ^ /home/ctb/TeamCity/buildAgent/work/742505fa88794219/test/MainTest.java:12:找不到符号 符号:类测试 位置:类 MainTest @测试 ^ /home/ctb/TeamCity/buildAgent/work/742505fa88794219/test/MainTest.java:15:找不到符号 符号:变量断言 位置:类 MainTest Assert.assertEquals("总和应该是 7。失败者!!",7,test.sum(4,4)); ^
所以是的,我看到 TeamCity 没有看到 JUnit。
在 TeamCity 讨论论坛上,一位回答我的问题的人问我是否将 junit.jar 作为依赖项(模块或库)添加到构建中。它被列为模块依赖项,但我尝试将其作为库依赖项。我还尝试检查和取消检查导出并尝试编译和测试范围,但每次我得到相同的错误。我的运行配置是共享的。
我没有使用 Ant 或 Maven。也许有一天,但我想尽可能简单地开始。
显然,我遗漏了一些东西,但有关该主题的文档很少。
谢谢你。