【发布时间】:2017-01-04 12:55:44
【问题描述】:
我想为我的一些 python 函数创建一个测试框架(尽管这种方法可能适用于任何其他语言)
我的想法是创建一个我将拥有的文件:
- 要测试的函数的名称
- 此函数的输入参数
- 预期的输出
我的文件将如下所示:
# Test 1: Description of the test # foo test1
Function: foo
Input: param1, param2, param3
Output: out1, out2
# Test 2: Description of the test # foo test2
Function: foo
Input: param1, param2, param3
Output: out1, out2
# Test 3: Description of the test # bar test1
Function: bar
Input: param1, param2, param3, param4
Output: out1, out2, out3
然后我可以读取此文件并开始执行测试。
我最初的想法是首先在字符串中构建命令:
command = function + '(' + ''.join(inputs) + ')'
然后使用exec() 执行每个命令
exec(command)
但是我猜这是一个好主意还是有更好的主意来做到这一点。
我这么说是因为 exec 和 eval 被认为是应尽可能避免的不良做法。
所以我的问题是:我的方法是否可行,或者我缺少其他简单的方法?
【问题讨论】:
-
您是否考虑过使用pytest 而不是编写自己的测试框架?