我有一个第三方软件,可以使用以下内容运行一些python脚本:
software.exe -script pythonscript.py
我的公司非常依赖这个软件以及我们为它开发的脚本。目前我们有一些QA可以检查脚本的输出,但是我们真的想开始对脚本进行单元测试,以便更容易找到错误并使测试系统更加完整。
我的问题是如何运行“嵌入式”单元测试?我们使用pydev + eclipse,并尝试使用它的remote debbuging使其与单元测试一起使用,但我无法真正使其工作。如何让服务器连接“馈送”单元测试?
另一个想法是解析软件的标准,但这并不是一个单元测试...而且它带来的额外复杂性使得这种方法不那么有趣。
我希望这样的事情已经在其他地方完成了,我试着用Google搜索,但也许我只是没有使用正确的关键字。谁能给我一个起点?
谢谢
答案 0 :(得分:1)
更多信息会有所帮助。您使用的是测试框架(例如unittest或nose),如果没有,测试结构如何?什么是software.exe
?
在python中,单元测试实际上只是一组在失败时引发异常的函数,因此可以像任何其他函数一样从脚本中调用它们。因此,理论上,您可以简单地创建一个测试运行器(如果您还没有使用诸如鼻子之类的那个),并将其作为software.exe -script runtests.py
运行。在pydev中,您可以将software.exe
设置为自定义的python解释器。
如果问题是software.exe
隐藏了stdout,那么只需将结果写入日志文件即可。您还可以创建一个模拟由software.exe
提供的环境并使用python.exe
运行测试。
答案 1 :(得分:0)
如果单元测试是针对您的代码而不是software.exe
提供的功能,那么您可以在必要时使用独立的python模拟software.exe
部分来运行测试。作为中间步骤,您可以尝试使用`software.exe'
unittest
的脚本
答案 2 :(得分:0)