我的 python 库有相当多的单元测试,其中许多需要一些其他非代码文件才能运行。例如,为了测试一个文件解析器,我可能需要解析几个示例文件。
所有这些与测试相关的文件当前都驻留在与测试代码目录平行的目录中,但我很好奇这些辅助数据是否存在公认的做法和/或位置?
我的 python 库有相当多的单元测试,其中许多需要一些其他非代码文件才能运行。例如,为了测试一个文件解析器,我可能需要解析几个示例文件。
所有这些与测试相关的文件当前都驻留在与测试代码目录平行的目录中,但我很好奇这些辅助数据是否存在公认的做法和/或位置?
我认为这是相当意见/习惯的问题。但是,测试应该是独立的,并且应该形成一个简洁的包,没有太多的外向依赖。因此,在您的情况下,我会像这样组织目录结构:
test files:
tests/
tests resources:
tests/dataSets/testfixture1/
tests/dataSets/testfixture2/
etc.
或者
test files:
tests/
tests resources:
tests/testfixture1Data/
tests/testfixture2Data/
etc.
或类似的东西。通过这种方式,您可以保持测试独立,因为该结构不鼓励测试数据重用。此外,所有内容都位于一个位置,这增加了可读性。