单元测试 - Python 开源项目的正常结构是什么,运行测试的首选方式是什么?



我写了一些我想分享的代码,我想遵循创建/维护它的结构的最佳实践。我将在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中集成测试的解决方案同时拥有测试和实际文档,这也是一种可能性)。

相关内容

最新更新