软件栈:
测试
sbt.version=0.13.8
我有一个单一的 Play 应用程序,我将其拆分为子模块。我有许多单元测试和集成测试,它们当前位于项目根目录的/test 文件夹中。
我将它分为两个主要模块“审计”和“用户”。目录结构目前是这样的
/
/conf -- application.conf & routes which references the child module route files
/module
/module/user
/module/user/app -- here I have UserController and some model code
/module/user/conf -- here I have user.Routes
/module/audit
/module/audit/app -- here I have AuditController and some model code
/module/audit/conf -- here I have audit.Routes
/test
测试(单元测试和 selenium 集成测试的混合)当前位于/tests 中。我想将单元测试移到他们的模块中。我已经尝试过“显而易见”:为了进行审计,我将它们放在/module/audit/test 和/module/audit/src/test/scala 中。在 SBT 中,我尝试了“inspect scalaSource”,它告诉我审计模块的测试目录是 ...preamble .../module/audit/test
不幸的是,当我在 SBT 中尝试“测试”时,子模块中的测试没有被选中。我尝试将以下内容添加到审计模块
测试中的 scalaSource := baseDirectory.value/"src"/"test"/"scala"
“没有被拾取”是指“没有检测到文件中的编译错误”和“没有执行测试”。换句话说,似乎没有使用“测试中的 scalaSource”键
为 Play 框架项目执行此操作的推荐方法是什么?
最佳答案
如果您的测试没有被 test 命令执行,可能是您的项目配置不正确。通常多项目 sbt 聚合子项目:
lazy val parent = Project(
id = "parent",
base = file("."),
settings = ...
).aggregate(audit, users)
关于scala - 当我将 Play 项目拆分为子模块时,我在哪里放置测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33872137/