2011-02-16 54 views
4

我有一套脚本和模块总共几兆字节。回归测试和必要的数据是数百兆字节b/c的数据性质。用实际的源代码来保持回归测试和大量测试数据是“最佳实践”吗?我应该在源代码回购中使用大型测试数据进行回归测试吗?

请注意,有一套单独的单元测试,它要小得多,并且要测试单个模块。但是主要管道的运行需要真正的(大的)数据才有用。

回答

5

我想你应该看看在这里扮演一个角色的各种力量。

  • 特定版本的测试(及其数据)测试特定版本的代码。因此,希望能够一起提交对测试和代码的更改。

  • 在源代码控制下拥有大型测试集可能会损害不总是需要它们的人的性能:“svn checkout”(或“cleartool mkview -snaphost”或您有什么)会复制大量文件,测试运行时间变长等。因此,希望将大与小,集成测试与单元测试分开。

我的结论是那么一个储存库来保存在一起,但要确保有一切 - 除了最大的测试,和他们 - 大数据工作的方式。例如,在Subversion中,可以有文件夹/code/src,/code/test/unit,/code/test/integration/testdata。那样的话,许多开发人员可能会“svn checkout .../code”,而忽略大型测试集。而且您的连续构建工具将使用整个树,以便它可以运行集成测试。