Python 开源项目的正常结构是啥?运行测试的首选方式是啥? [关闭]

Posted

技术标签:

【中文标题】Python 开源项目的正常结构是啥?运行测试的首选方式是啥? [关闭]【英文标题】:What's the normal structure of a Python open source project and what's the preferred way of running the tests? [closed]Python 开源项目的正常结构是什么?运行测试的首选方式是什么? [关闭] 【发布时间】:2011-09-13 05:38:07 【问题描述】:

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

project_name/
    lib/
    test/
    README

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

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

【问题讨论】:

嗯,'pwd' 不是跨平台的。关于测试中的 PYTHONPATH,请参阅此问题:***.com/questions/1896918/… @Todd Owen,是的,我知道 pwd 不是跨平台的,但是 Python 在运行脚本时会考虑它的价值。 【参考方案1】:

我喜欢的方法如下:

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

您可以通过在 setup.py 文件中使用适当的 cmdclass=... 条目扩展 setup 命令来集成 doctest。见this example (CouchDB setup) 对于在 setup.py 中集成测试的一种解决方案。 (它使用单独的文件 同时拥有测试和实际文档,这也是一种可能)。

【讨论】:

以上是关于Python 开源项目的正常结构是啥?运行测试的首选方式是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

c语言 结构体变量的首地址是啥??作用是?

jisit是啥

什么python框架战术开源项目基于?

elk是啥

jenkins是啥

google为开源项目自动生成“安全分数”!