在以下代码中,测试脚本因list1中的空参数失败,即使它在test_1测试函数中已更改。
import pytest,csv
list1 = []
def test_1():
global list1
print "IN TEST1"
list1 = [['a','b','c'],['d','e','f'],['g','h','i']]
@pytest.mark.parametrize("test_input", list1)
def test_eval(test_input):
print list1
print "PARAMTERIZE FUNCTION"
print (test_input)
如何在pytest.parametrize中访问list1的新值?
答案 0 :(得分:0)
由于您没有调用该函数,因此list1
未更新。在测试之前调用函数test_1()
或在下面给出更好的方法:
def test_1():
print "IN TEST1"
list1 = [['a','b','c'],['d','e','f'],['g','h','i']]
return list1
@pytest.mark.parametrize("test_input", test_1())
def test_eval(test_input):
print "PARAMTERIZE FUNCTION"
print (test_input)