gpt4 book ai didi

scala - 当我将 Play 项目拆分为子模块时,我在哪里放置测试

转载 作者:行者123 更新时间:2023-12-02 03:20:31 26 4
gpt4 key购买 nike

软件栈:

  • Play :addSbtPlugin("com.typesafe.play"% "sbt-plugin"% "2.4.3")
  • 测试框架:"org.scalatestplus"%% "play"% "1.4.0-M3"%
    测试
  • 斯卡拉:scalaVersion:=“2.11.7”
  • Java:1.8.0.40-b26
  • SBT:
    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/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com