MRo*_*lin 8 python testing benchmarking nosetests
我想为我的Python项目创建一组基准.我希望看到这些基准测试的性能随着我引入新代码而改变.我想以与测试Python相同的方式执行此操作,方法是运行实用程序命令,nosetests
并获得格式良好的读数.
nosetests
该nosetests
工具通过在我的目录结构中搜索任何命名的函数test_foo.py
并运行其中test_bar()
包含的所有函数来工作.它运行所有这些函数并打印出它们是否引发了异常.
我想要类似的东西搜索所有文件bench_foo.py
并运行所有包含的函数bench_bar()
并报告它们的运行时.
这样的工具存在吗?
如果不是什么好的起点?有些nose
来源适合这个吗?
nosetests
可以运行任何类型的测试,因此您可以决定它们是否测试功能、输入/输出有效性等,或者性能或分析(或您想要的任何其他内容)。Python Profiler是一个很棒的工具,它随 Python 安装一起提供。
import unittest
import cProfile
class ProfileTest(unittest.TestCase):
test_run_profiler:
cProfile.run('foo(bar)')
cProfile.run('baz(bar)')
Run Code Online (Sandbox Code Playgroud)
您只需向测试添加一行,或者向测试用例添加一个测试,以获取您想要分析的所有调用,并且您的主要源代码不会被测试代码污染。
如果您只想计算执行时间而不是所有分析信息,timeit是另一个有用的工具。
归档时间: |
|
查看次数: |
1438 次 |
最近记录: |