我有一套总共几兆字节的脚本和模块。回归测试和必要的数据是我们使用的数据性质的数百兆字节b / c。将回归测试和大型测试数据与实际源代码保持一致是“最佳实践”吗?
请注意,有一组单独的单元测试,它们要小得多并且测试单个模块。但是一系列主要管道要求实际(大)数据有用。
答案 0 :(得分:5)
我认为你应该看看在这里发挥作用的各种力量。
特定版本的测试(及其数据)测试特定版本的代码。因此,希望能够一起提交对测试和代码的更改。
在源代码管理下拥有大型测试集可能会损害那些并不总是需要它们的人的性能:“svn checkout”(或“cleartool mkview -snaphost”,或者你有什么)复制了很多文件,测试运行变得更长等等。因此,最好将大小与集成测试从单元测试中分离出来。
然后我的结论是将它们保存在一个存储库中,但要确保有一种方法可以处理所有事情 - 除了大测试和他们的大数据。例如,在Subversion中,可以有文件夹/code/src
,/code/test/unit
,/code/test/integration
和/testdata
。这样许多开发人员可以“svn checkout ... / code”,并忽略大型测试集。并且您的连续构建工具将使用整个树,以便它可以运行集成测试。