我已按照SBT文档中的说明设置测试配置.我有三个测试配置Test,IntegrationTest和AcceptanceTest.所以我的src目录如下所示:
我的问题是,如何配置SBT以允许在这些配置之间共享类?示例:我在"it"配置中有一个类,用于简化数据库设置和拆除.我在"接受"配置中的一个验收测试可以使用这个类.如何使"接受"中的"it"类可用于测试
提前谢谢了.
Mar*_*rah 10
配置可以扩展另一个配置以使用该配置的依赖项和类.例如,自定义测试配置部分显示自定义配置的此定义:
lazy val FunTest = config("fun") extend(Test)
Run Code Online (Sandbox Code Playgroud)
该extend部分意味着编译的常规测试源将位于fun源的类路径上.在您的情况下,声明acceptance配置以扩展it配置:
lazy val AcceptanceTest = config("acceptance") extend(IntegrationTest)
Run Code Online (Sandbox Code Playgroud)
gil*_*och 10
如果你想坚持预定义的配置,而不是定义换新的,因为这两个Test和IntegrationTest延长Runtime(人们所期望的IntegrationTest延伸Test......),你可以使用以下命令:
dependencyClasspath in IntegrationTest := (dependencyClasspath in IntegrationTest).value ++ (exportedProducts in Test).value
Run Code Online (Sandbox Code Playgroud)
这应该将您定义的所有类Test放在IntegrationTestclasspth 上。
##编辑:
感谢@mjhoy,我才意识到更好的解决方案:
lazy val DeepIntegrationTest = IntegrationTest.extend(Test)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3114 次 |
| 最近记录: |