【发布时间】:2016-05-11 15:41:36
【问题描述】:
我在src/main/resources 文件夹中有一些文件供我正在处理的应用程序使用,我将其中几个复制到src/test/resources 文件夹中,以便我的测试可以轻松访问它们。我想知道这是否是单元测试的最佳实践?例如,我可以从src/main/resources 加载资源,这样如果有人更改源代码,我的测试就会失败。这方面的最佳做法是什么?
【问题讨论】:
-
除非有充分的理由复制文件,否则我将拥有一份副本。 IE。使用
src/main/resources,除非它们不应该被释放。 -
main/resource 中的文件内容是静态的吗?它会改变吗?如果我有一个测试,其中返回数据的断言是硬编码的,例如,一个测试从文件中读取的字符串是我期望的,我必须在断言中硬编码预期的字符串。如果 main/resources 下的文件发生更改,我的测试将开始失败。测试的一般方法是测试环境在我每次运行时都应该保持不变。
-
如果资源属于主代码并且你只在测试中使用它来检查主代码,你应该把它保存在
src/main/resources。src/test/resources仅用于测试。
标签: java maven unit-testing resources