【问题标题】:Scala: Directory layout for test classesScala:测试类的目录布局
【发布时间】:2014-08-31 02:26:57
【问题描述】:

基于 Maven 和 sbt,Scala 测试类的布局约定在 src/test/scala 下。在该目录下,测试类的正确约定是什么?

具体来说:

  1. 测试的目录是否应该与他们正在测试的类的目录结构相匹配?
  2. 是否应该将单元测试和集成测试放在单独的目录中?如果是这样,这与 #1 有什么关系?
  3. 测试助手和测试库类去哪里了?不是测试但支持测试的代码?
  4. 所有这些的包呢?

【问题讨论】:

    标签: scala unit-testing


    【解决方案1】:

    我认为您应该考虑什么对您有好处并有助于您的项目,而不是最佳实践。

    我的 5 美分:

    1. 匹配结构(包)的一个好处是您可以将内部内容包设为私有,但仍可对其进行测试。 Scala 不要求您将目录结构与包结构相匹配,但这样做的好处是您可以轻松地在代码库中找到自己的方式。
    2. 我认为这取决于您的项目,集成测试是否运行缓慢/映射到单独的测试运行,或者编译速度可能很慢,并且您在运行单元测试时并不总是希望编译它们,那么它可以甚至为它们有一个单独的源根是一个想法,但您也可以使用您的测试库的标记/类别支持并将它们混合或使用测试用例的命名标准(例如 NnnnnSpec 与 NnnnnIntegrationSpec)
    3. 与测试类一起,但名称不同,可能位于易于识别为测试支持/实用程序的单独包中
    4. 见 #1 和 #3

    【讨论】:

      猜你喜欢
      • 2010-09-09
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      相关资源
      最近更新 更多