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

时间:2011-06-11 23:42:10

标签: python unit-testing open-source project-structure

我写了一些我想分享的代码,并且我想遵循创建/维护它的结构的最佳实践。我将在BitBucket上托管代码,现在我正在考虑如何组织它。这是一个很好的结构吗?

project_name/
    lib/
    test/
    README

因此,这将包含lib中的源代码和测试中的测试代码。这是在Python项目中完成的吗?这是我看到的最常用于Ruby项目的结构。此外,当我运行单元测试时,这样做是不错的做法:

set PYTHONPATH=`pwd`/lib
python test/a_test.py

1 个答案:

答案 0 :(得分:1)

我喜欢的方法如下:

  • 使用distutils并创建一个setup.py文件。 (这大多有用 当你有很多扩展类时)。这将允许您安装 系统范围内的模块或virtualenv目录。
  • 如果你想进行严肃的测试,但要保持随便的一面, doctest是您想要的,因为它可以兼作“裸骨”文档 (当你记录测试并包括一些关于它正在做什么的评论)。 您可以使用doctest在代码的文档字符串中使用测试 将测试保存在一些单独的.txt文件中。

您可以通过将setup命令扩展到setup.py文件中的相应cmdclass=...条目来集成doctest。见this example (CouchDB setup) 一个集成了setup.py中的测试的解决方案。 (它使用单独的文件 有测试和实际文档,这也是一种可能性。)