问题分类的分拆this。你把它们放在源代码树中吗?你让他们在源代码控制?你在哪里保存你的测试数据文件?
我在想,如果你的测试用例引用文件,那么这些文件就是系统行为规范的一部分,因此它们与系统的当前版本相关联,因此它们应该被检入源代码控制。但我不认为他们应该在本地检查,因为他们不需要,他们可能会相当大。所以我倾向于使用并行树,如果项目的代码文件位于$ svn/Code/foo/bar/baz,相关的测试数据文件位于$ svn/TestData/foo/bar/baz中,并且后者将直接从服务器使用某种常见的测试数据助手类(可能在本地缓存文件?)访问,它们只能接受相对路径并找出在哪里找到它们。这有意义吗?
我想这里有一个相关的问题,我应该如何广泛地使用外部文件进行测试。我认为他们通常对更高级别的“接受”测试有好处。
是的,我明白你在说什么。我想在低级单元测试和高级验收测试(可能包括性能测试方面并在某些情况下在多千兆字节的输入数据上运行)之间需要进行清晰的分割?很明显,我不应该在每次进行更改时都运行后者,因为他们需要几分钟的时间才能运行,但我仍然希望以某种方式定期自动运行它们。 正如你所看到的,我对于如何处理这样的项目的测试仍然有些困惑,这些项目旨在处理大量和杂乱的数据输入。 – 2009-08-03 04:11:55