scala - 对 SBT 中构建的项目使用通用测试实用程序文件

标签 scala unit-testing sbt integration-testing

给定一个使用 build.sbt 的项目文件,我想有一个共同的TestUtils.scala集成和单元测试都依赖的文件。
我的 src 文件夹位于 src/scala和我的集成测试文件夹 it/scala .我的单元测试文件夹在 test/scala , 并包含常见的 TestsUtils.scala文件。
目前我正在 Intellij 中通过 ScalaTest 运行我的测试。当我以这种方式运行它时,Intellij 能够从单元测试文件夹上的集成测试文件夹中确定依赖项。我正在尝试切换到使用 test , it:testunit:test一组 SBT 任务。当我这样做时,集成测试文件夹无法编译,因为它找不到常见的 TestUtils.scala文件。如果我复制 TestUtils.scala文件到我的集成测试文件夹然后它会编译但我不想在 2 个位置有相同的代码。
以下是我看到的解决此问题的方法:

  • 将文件复制到两个测试文件夹(坏)
  • 将文件移动到 src文件夹(介绍 src 依赖 scalatest 我宁愿避免)
  • integration找路文件夹以使用 test 中的文件文件夹(不知道怎么做)

  • 理想情况下,我想使用第三种方法,但不知道如何实际实现。如何让一个文件夹使用另一个文件夹作为 SBT 中的依赖项?有没有我不知道的更好的方法?

    最佳答案

    根据 Mario Galic 的评论,我稍微修改了它以适用于我的 build.sbt 文件。我使用了以下代码:

       dependencyClasspath in IntegrationTest := (dependencyClasspath in IntegrationTest).value
      ++ (exportedProducts in Test).value
    

    关于scala - 对 SBT 中构建的项目使用通用测试实用程序文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63272825/

    相关文章:

    c++ - google mock - 如何模拟被测类拥有的对象

    mysql - 当我不使用依赖项时,我得到 "Cannot connect to database [default]" "mysql"% "mysql-connector-java"% "5.1.21"

    scala - 尝试创建 jar 时出现 UNRESOLVED DEPENDENCIES 错误

    java - 在单个项目中使用 SBT 和 Maven?

    scala - 为什么 lines.map 不起作用,但 lines.take.map 在 Spark 中起作用?

    scala - 在 Slick 中导入不同的数据库驱动程序

    unit-testing - 为 Flink SQL 添加单元测试

    Silverlight 单元测试框架重新运行测试

    excel - Spark(Scala)解析时间戳格式为 ("dd-MMM-yy hh:mm:ss:SSSSSSSSS aa"的字段的问题)

    scala - akka 流 toMat