2012-05-21 60 views
0

我已经开始在基于OPENXML发动机的工作,我们使用了大量的PPTX文件用于测试目的。我们不希望这些文件存储在源代码管理中。有没有关于这方面的任何建议。可能存储在网络共享或映射驱动器等?的NUnit:单元测试,在存储测试数据文件的建议

+1

为什么你不想将文件存储在源代码管理中? –

+0

我不希望SCM增长更大的二进制文件 – Aneef

回答

4

为什么不存储在源代码控制的测试文件?显然,它们是测试套件的一部分,所以它们属于测试。

认为它是这样的:你写的测试,以发现是否有一些你的代码错误。如果代码现在通过测试,如果您更改代码本身或测试(包括驱动测试的测试文件),则代码可能会失败。所以你想在源代码控制中保留测试文件和测试文件,这样你就可以控制什么样的测试是准确执行的。

随着时间的推移,你可能会改变这些文件,以更好地反映需求的变化。在这一点上,你不想跟哪个版本的测试文件的兼顾属于哪个版本的源/测试代码,如果您单独

+0

谢谢..只有我想让它脱离SCM的原因是,二进制文件可能会使SCM变大。但你的观点是有效的:) – Aneef

+0

除非你有_huge_二进制文件和一吨他们,磁盘空间应该不是问题展开 – Attila

3

保持它们来存储他们是版本控制的合理位置这会发生。这样你就可以修改它们而不必担心破坏以前版本的测试代码。将它们存储在网络共享上将成为问题的常见原因。您的版本控制系统将记录每个文件的更改以及执行文件的人员。您的网络共享不太可能提供类似的功能。如果您担心文件的大小,以及您的版本控制系统是否可以应付,请获得一个体面的版本控制系统。

+0

一件事,我们在测试中所需的外部文件做的就是将文件嵌入到测试组件作为嵌入式资源。唯一的缺点是装配可能会相当大,但我们没有发现这是一个主要问题。当然最好能够移动一个测试程序集,因为知道它的所有依赖关系都可以在其内部解析,而不必担心一组外部文件。 –

+0

为什么你需要移动测试组件? – Attila

+1

我们使用TeamCity来构建我们的工件,将它们拉伸并将它们移动到各种构建中,以便我们不需要不断重建源代码。通过将测试工件放入测试程序集中,我们不需要将这些工件复制到测试程序集旁边。另一件事可能会出错。 –