没有完整 sbt 构建的 IDEA Play 2.4 junit 测试
Posted
技术标签:
【中文标题】没有完整 sbt 构建的 IDEA Play 2.4 junit 测试【英文标题】:IDEA Play 2.4 junit test without full sbt build 【发布时间】:2015-07-07 14:11:15 【问题描述】:我想在 Intellij IDEA 14.1.4 中为我的 Play 2.4 应用程序运行 JUnit 测试,以利用完整的 JUnit 集成。
当我创建一个新的 JUnit 运行配置时,测试执行得很好。但是,在每次测试运行时,都会执行完整的 SBT 构建,从而将测试延迟大约 30 秒。
如果我从 JUnit 运行配置中的启动前步骤中删除 Make
,则测试将直接执行而无需完整的 sbt 构建,但 IDEA 不会获取测试和应用程序代码中的任何代码更改。即使在播放文件更改时自动编译运行时,IDEA 也不会将它们用于测试。
编辑 07/09/2015
我还用SBT Action test:compile
交换了Make
,这只会打开一个加载项目的SBT 控制台并在提示符下停止。它没有执行动作 test:compile,因此根本没有开始测试。
我必须在运行配置和/或项目设置中进行哪些更改才能在 IDEA 中为 Play 项目快速无缝地集成 JUnit?
【问题讨论】:
【参考方案1】:通过issue tickets of idea-sbt-plugin挖掘,终于自己找到了答案。
将启动前步骤Make
与SBT Action test:compile
交换是正确的方法。但是 SBT 插件需要默认的 sbt shellPromt >
。然而,Play 项目将自己的自定义提示定义为 [projectname] $
。
我必须将以下行添加到 build.sbt
以使 SBT 操作生效。
shellPrompt := (_ => "> ")
【讨论】:
您能解释一下如何创建 SBT Action 并在预启动步骤中使用它吗? 先决条件:已安装 SBT 插件。打开测试的运行/调试配置。您可能想要编辑模板,以便每个测试都使用此配置。选择“制作”,单击“启动前”部分中的“-”。单击“+”以添加新的 Before 步骤。选择 SBT。输入 'test:compile' 作为操作(在下拉值中不可用,请手动输入)以上是关于没有完整 sbt 构建的 IDEA Play 2.4 junit 测试的主要内容,如果未能解决你的问题,请参考以下文章