开发与发布Python代码

时间:2016-08-28 10:20:13

标签: python testing

我目前正在开发一个Python应用程序,我不断进行性能测试,只需记录各个部分的运行时间。

许多代码只与测试环境有关,并且在现实世界的应用程序中不存在,我将这些代码分成函数,并且在测试时我将这些调用注释掉。这需要我记住哪些调用仅涉及测试组件(它们是相当交错的,因此我无法对功能进行分组)。

我想知道是否有更好的解决方案,我到目前为止唯一的想法是创建'模式'布尔值并插入If语句,虽然这感觉不必要地混乱。我希望可能有一些我更天真的标准化测试方法。

我是python的新手,所以我可能忽略了一些简单的解决方案。 提前谢谢

2 个答案:

答案 0 :(得分:0)

有一些用于测试的库,就像标准库的development-section中那样。如果你还没有使用这样的工具,你应该开始这样做 - 它们对测试有很大的帮助。 (尤其是unittest)。

通常Python以调试模式运行程序,__debug__设置为True(参见docs on assert) - 您可以通过设置命令行开关-O来关闭调试模式或-OO进行优化(请参阅docs)。

Python Wiki

中有一些关于使用特定断言的内容

答案 1 :(得分:0)

我说如果您在调试和发布模式之间切换时评论代码的几个部分,我认为你做错了。看一下logging library的示例,如您所见,通过该库,您可以通过更改单个参数来指定要使用的日志记录级别。

尽量避免通过控制脚本运行模式(调试,发布,...)的一个或多个变量来评论调试代码的特定部分。你也可以使用一些已经提供的builtin ones python