python单元测试框架哪个最好
答案:2 悬赏:70
解决时间 2021-04-21 08:10
- 提问者网友:枫涩帘淞幕雨
- 2021-04-20 15:23
python单元测试框架哪个最好
最佳答案
- 二级知识专家网友:白日梦制造商
- 2021-04-20 16:01
同在软件测试岗位。由于同样初学python,所以没有太多的实践经验。
使用python的单元测试框架,可以建立测试类,构造测试集。
测试类中包含了common的测试方法定义,包括测试开始前建立测试环境的setUp方法和测试完成后清理还原环境的tearDown方法,最好按照约定规则(以test开头)来命名所有的测试方法。
测试集允许你根据测试策略组合不同的测试用例并实施。
使用python的单元测试框架,可以建立测试类,构造测试集。
测试类中包含了common的测试方法定义,包括测试开始前建立测试环境的setUp方法和测试完成后清理还原环境的tearDown方法,最好按照约定规则(以test开头)来命名所有的测试方法。
测试集允许你根据测试策略组合不同的测试用例并实施。
全部回答
- 1楼网友:一个很哇塞的汉子
- 2021-04-20 17:30
#首先pyunit不像junit一样支持参数化测试。。。不过不是不能实现,只是pyunit的作者想让#这个东西变得尽量简单。所以不去实现。当然这个pyhon语言足够动态,你可以自己去实现
#外部输入参数测试。
import unittest
class parametrizedtestcase(unittest.testcase):
""" testcase classes that want to be parametrized should
inherit from this class.
"""
def __init__(self, methodname='runtest', param=none):
super(parametrizedtestcase, self).__init__(methodname)
self.param = param
@staticmethod
def parametrize(testcase_klass, param=none):
""" create a suite containing all tests taken from the given
subclass, passing them the parameter 'param'.
"""
testloader = unittest.testloader()
testnames = testloader.gettestcasenames(testcase_klass)
suite = unittest.testsuite()
for name in testnames:
suite.addtest(testcase_klass(name, param=param))
return suite
#####################################################
##用法-testcase
class testone(parametrizedtestcase):
def test_something(self):
print 'param =', self.param
self.assertequal(1, 1)
def test_something_else(self):
self.assertequal(2, 2)
##用法-测试
suite = unittest.testsuite()
suite.addtest(parametrizedtestcase.parametrize(testone, param=42))
suite.addtest(parametrizedtestcase.parametrize(testone, param=13))
unittest.texttestrunner(verbosity=2).run(suite)
#结果
test_something (__main__.testone) ... param = 42
ok
test_something_else (__main__.testone) ... ok
test_something (__main__.testone) ... param = 13
ok
test_something_else (__main__.testone) ... ok
----------------------------------------------------------------------
ran 4 tests in 0.000s
ok 当然最好的方法就是用别人写的东西。。。
https://github.com/taykey/nose-ittr
这个拿去,不谢
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯