我希望运行一个测试模块两次,同时在两者之间修改一个全局变量。
整个测试套件的精简版看起来像这样:
my_var = 'blah'
def test_x():
assert my_var == 'blah'
if __name__ == '__main__':
import nose
result = nose.runmodule()
my_var = 'asdf'
import nose
result = nose.runmodule()
我期待第二次运行失败。但是,鼻子似乎只进行了一次测试:
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
是否有可能实现我在主程序中的意图?
答案 0 :(得分:0)
每当您想要使用不同的数据输入运行相同的测试时,您应该查看参数化。
使用鼻子有library这样做,或者你可以写你的方法来做到这一点。在您的情况下,您实际上只需要迭代测试用例并运行相同的断言。
def test_x():
test_cases = ['blah', 'asdf']
for my_var in test_cases:
assert my_var == 'blah'