7

Python 中是否有用于 TDD 的特定目录结构?

教程谈论测试的内容,而不是放在哪里

通过浏览 Python Koans,怀疑它是这样的:

/project/main_program.py         # This has main method, starts program
/project/classes/<many classes>.py
/project/main_test.py            # This simply directs unittest onto tests, can use parameters fed to it to customise tests for environment
/project/tests/<many tests>.py

# to run tests, type "python -m unittest main_test.py" (into a terminal)
# to run program, type "python main_program.py"

我这样做对吗?是否有一个很好的指南来教授 TDD 的目录层次结构?我听说混合的代码和测试文件很糟糕。

参考:

4

2 回答 2

4

根据您的项目,任何风格都可以让您

  • 将实现代码与测试代码分开
  • 轻松创建新测试
  • 在一次操作中运行所有测试(例如回归测试)

python koans/etc 只是指导方针。最后,您希望通过单元测试维护 DRY,并能够轻松、可维护且直观地进行测试。最后,由您决定您的文件夹结构。

我觉得您过于关注满足惯例而不是满足您的项目。

于 2012-03-26T03:42:14.340 回答
1

有两个基本选项:在顶级“test”(或“tests”)目录中,或在每个级别的包内的“test”目录中。前者的优点是可以轻松地同时进行单元测试和其他测试。后者的优点是可以轻松地针对已安装的代码版本运行测试,并且是这篇博文推荐的,它描述了适用于 Python 项目的基本结构。

归根结底,重要的是让它们易于查找和运行。

于 2012-03-29T20:38:09.760 回答