如何更改旋转模板的位置以进行集成测试?

时间:2014-05-26 22:51:03

标签: scala sbt spray typesafe-stack twirl

我正在尝试使用twirl作为集成测试的一部分。

我的集成测试有一个模仿真实世界服务的HTTP simplicator。为了在测试中实现这个简化器,我正在使用spray-can嵌入式HTTP服务器,它需要根据旋转模板吐出响应。

我的测试位于/src/it/scala,所以我自然希望将这些旋转模板放在/src/it/twirl中。这不起作用,因为twirl编译器会忽略此目录。

如果我将旋转模板放在/src/main/twirl中,一切正常 - 但我试图避免这种情况,因为我不希望这些模板使生产包混乱(模板只能在测试所以他们只应该在运行测试时在里面编译。)

如何告诉twirl编译器在新目录中查找模板?

1 个答案:

答案 0 :(得分:1)

您应该使用by default设置的sourceDirectory in twirlCompile

sourceDirectory in twirlCompile <<= (sourceDirectory in Compile) / "twirl"

重新定义sourceDirectory配置的twirlCompile任务的IntegrationTest设置。以下有效(尚待验证)。

sourceDirectory in twirlCompile in IntegrationTest := (sourceDirectory in IntegrationTest).value / "twirl"