2012-06-06 85 views
0

The Buildr quickstart documentation有关于集成测试的章节应该写出来。它简要地说你可以编写集成测试“[与]你写单元测试的方式非常相似。”如何区分Buildr中的单元测试和集成测试?

但是,它没有说明Buildr如何判断哪些测试(无论是JUnit4,scalatest还是其他)只能作为集成测试(在package之后执行)以及哪些测试被简单地视为单元测试(执行在build之后)。我试过把Java(Java)JUnit4测试源放到src/it/java(Maven未来版本中提出的集成测试位置),但是Buildr没有选择这些测试。

有人可以澄清我必须在Buildr项目做有一个测试buildpackage后才后不能运行?

回答

2

buildr中的任何给定子项目都只能有单元测试或集成测试。无论是单元测试还是集成测试,项目中测试的位置都是相同的。对于JUnit4,位置将是[subproject_root]/src/test/java

单元测试是默认设置。您指出子项目的测试是通过test.using指令进行的集成测试:

define 'foo' do 
    # ... 
    test.using :integration 
    # ... 
end 
+0

感谢您的回答。 这是一个Buildr的设计选择还是这是一个已知的限制? SBT通过过度复杂的所谓'范围'和'轴'系统来实现这一目标。 如果这是一个限制,这是否会被解除某处?强制用户定义一个具有自己的源层次结构的子项目是没有意义的,使其依赖于另一个子项目的制造品,只是沿着侧面单元测试运行一些集成测试。 – fatuhoku