Scala:测试类的目录布局

时间:2014-07-09 21:40:46

标签: scala unit-testing

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

具体做法是:

  1. 测试的dirs是否应该与他们正在测试的类的dirs结构相匹配?
  2. 是否应将单元测试和集成测试放入单独的目录中?如果是这样,那如何适合#1?
  3. 测试助手和测试基地课程在哪里?代码不是测试但支持测试?
  4. 所有这些的套餐怎么样?

1 个答案:

答案 0 :(得分:0)

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

我的5美分:

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