9

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

project_name/
    lib/
    test/
    README

所以,这将在 lib 中有源,在 test.xml 中有测试。这是在 Python 项目中的做法吗?这是我看到的最常用于 Ruby 项目的结构。另外,当我运行单元测试时,这样做是否被认为是一种好习惯:

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

1 回答 1

1

我喜欢的方法如下:

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

您可以通过在 setup.py 文件中setup使用适当的条目扩展命令来集成 doctest 。cmdclass=...有关在 setup.py 中集成测试的一种解决方案,请参阅此示例(CouchDB 设置) 。(它使用包含测试和实际文档的单独文件,这也是一种可能性)。

于 2011-06-11T23:53:33.530 回答