我写了一些我想分享的代码,我想遵循创建/维护它的结构的最佳实践。我将在BitBucket上托管代码,现在我正在考虑如何组织它。这是一个好的结构吗?
project_name/
lib/
test/
README
因此,这将在lib中有源代码,在测试中有测试。Python项目就是这样做的吗?这是我看到的Ruby项目中使用最多的结构。此外,当我运行单元测试时,这样做是否被认为是一种好的做法:
set PYTHONPATH=`pwd`/lib
python test/a_test.py
我喜欢的方法如下:
- 使用distutils并创建一个setup.py文件。(这很有用当你有很多扩展类时)。这将允许您安装模块系统范围内或虚拟目录中
- 如果你想进行认真的测试,但又停留在随意的一边,
doctest
就是您想要的,因为它可以兼作"基本"文档(当你记录测试并附上一些关于它正在做什么的评论时)。您可以使用doctest在代码的docstring中使用测试,或者将测试保存在一些单独的.txt文件中
您可以通过在setup.py文件中使用适当的cmdclass=...
条目扩展setup
命令来集成doctest。请参阅此示例(CouchDB设置)对于一个在setup.py中集成测试的解决方案同时拥有测试和实际文档,这也是一种可能性)。