作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我运行 buildr test
时,它甚至没有构建我的包。这似乎是 Buildr 的正常行为,它可能认为在验证代码可以工作之前不应创建包。
问题是,我目前正在尝试解决一个仅在从 jar 运行代码时才会发生的问题。如果我运行我的测试,它们都会通过,但代码在生产中根本不起作用。
因此,我会在运行测试之前构建包,并且只将包用于测试。这也可能有助于持续集成,我们喜欢将编译与测试分开,因为测试更容易分成单独的 block 。
有什么办法吗?
(我认为 test.using :integration
会是诀窍,但不是......它在运行时打印出不同的信息,但它仍然跳过构建包然后继续运行针对裸文件。)
最佳答案
我们通过创建另一个依赖于第一个项目的输出的项目来实现这一点,然后对其进行测试。即我们的集成测试的一个例子看起来像
define 'myproject' do
...
define 'server' do
...
package(:jar)
end
...
define 'integration-tests' do
# Either add it as a dependency
test.with project('server').package(:jar)
# Or manually load jar so the classpath
# can be explicitly controlled and pass in system
# property to locate jar
test.enhance([project('server').package(:jar)])
test.using :properties =>
{
'jar.filename' => project('server').package(:jar).to_s,
}
end
大多数情况下,我们在测试 war 文件时这样做,但它也应该适用于常规 jar。希望对您有所帮助!
关于testing - 如何让 buildr 对 jar 而不是类进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31332944/
我是一名优秀的程序员,十分优秀!