Skip to main content
 首页 » 编程设计

python之在 python 模块中测试示例代码

2025年05月04日16youxin

我正在编写一个包含一些示例的 python 模块。这些示例不是单元测试,而且它们太长太复杂,无法作为文档测试。我对自动检查这些样本是否运行的最佳实践很感兴趣。

我当前的项目布局非常标准,除了有一个额外的顶级 makefile 具有构建、安装、单元测试、覆盖率和配置文件目标,根据需要将责任委托(delegate)给 setup.py 和 nose。

projectname/ 
    Makefile 
    README 
    setup.py 
    samples/ 
        foo-sample 
        foobar-sample 
    projectname/ 
        __init__.py 
        foo.py 
        bar.py 
    tests/ 
        test-foo.py 
        test-bar.py 

我考虑过添加一个sampletest模块,或者在samples的入口函数中添加nose.tools.istest装饰器,但是对于少量的samples,这些方案听起来有点丑。

这个问题类似于Automatically Unit Test Example Code ,但我认为 Python 最佳实践与 C# 不同

请您参考如下方法:

大多数时候,我只是使用 unittest 来测试我的示例和功能测试。它不是单元测试,但我用 unittest 模块做的很多事情都不是。引用 Knuth 的话,“计算机不会介意它的程序是否用于与其名称不符的目的。”