[英]unit testing embedded python
我有一个第三方软件,该软件能够使用以下方式运行一些python脚本:
software.exe -script pythonscript.py
我的公司严重依赖此软件以及我们为其开发的脚本。 当前,我们有一些QA检查脚本的输出,但是我们确实希望开始对脚本进行单元测试,以使查找错误和使测试系统更完整变得更加容易。
我的问题是如何运行“嵌入式”单元测试? 我们使用pydev + eclipse,我尝试使用它的远程调试功能使其可以与单元测试一起使用,但是我不能真正使其工作。 如何使服务器连接“供稿”单元测试?
另一个想法是解析软件的标准配置,但这并不是真正的单元测试……而且似乎带来的额外复杂性使这种方法变得不太有趣。
我希望类似的事情已经在其他地方完成,因此我尝试使用谷歌搜索,但是也许我只是没有使用正确的关键字。 谁能给我一个起点?
谢谢
多一点信息会有所帮助。 您是否正在使用测试框架(例如unittest或鼻子),如果没有,测试的结构如何? 什么是software.exe
?
在python中,单元测试实际上仅是一个函数集合,这些函数会在失败时引发异常,因此可以像其他任何函数一样从脚本中调用它们。 因此,从理论上讲,您可以简单地创建一个测试运行器(如果您尚未使用过鼻子),然后将其作为software.exe -script runtests.py
运行。 在pydev中,您可以将software.exe
设置为自定义的python解释器。
如果问题在于software.exe
隐藏了stdout,则只需将结果写入日志文件即可。 您还可以创建一个环境来模拟software.exe
提供的环境,并使用python.exe
运行测试。
如果单元测试是针对您的代码的,而不是针对software.exe
提供的功能的,则可以在必要时使用独立的python模拟software.exe
部件来运行测试。 作为一个中间步骤,你可以尝试运行unittest
使用`software.exe”基于脚本
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.