가능한 중복 :
How to generate dynamic (parametrized) unit tests in python?파이썬의 유닛 테스트 및 동적 생성
동적 unittest
테스트 케이스를 만들 수있는 방법이 있나요? 나는
dir()
에 표시하고 호출 할 수 있습니다) 제대로 모든 방법을 만들지 만의 유닛 테스트에 테스트 검출기,도
nosetest
그들을 실행 요식
class test_filenames(unittest.TestCase):
def setUp(self):
for category, testcases in files.items():
for testindex, curtest in enumerate(testcases):
def thetest():
parser = FileParser(curtest['input'])
theep = parser.parse()
self.assertEquals(theep.episodenumber, curtest['episodenumber'])
setattr(self, 'test_%s_%02d' % (category, testindex), thetest)
("0 테스트를 실행 ... 다음 시도 .. .에 episodenumber
에 단순화 된 데이터를 (
을 내가 테스트 데이터 입력 파일 이름의 목록이 포함 된 파일을 가지고, 예상 : - ") 내가 잘못된 질문을 할 수 있기 때문에
난 달성하기 위해 노력하고 무엇을 위의 코드), 파이썬 사전에 저장됩니다. 키가 분류되면, 값
test_cases = {}
test_cases['example_1'] = [
{'input': 'test.01',
'episodenumber': 1},
{'input': 'test.02',
'episodenumber': 2}
]
test_cases['example_2'] = [
{'input': 'another.123',
'episodenumber': 123},
{'input': 'test.e42',
'episodenumber': 32}
]
I는 현재 모든 데이터에 대한 루프 다만, 각 시험에
self.assertEquals
전화 예컨대 테스트 케이스의 목록, ...이다. 문제는 하나의 테스트가 실패 할 경우 나머지 테스트가 하나의 테스트로 그룹화되어 표시되지 않기 때문에 하나의 테스트가 실패 할 때 중단됩니다.
이 문제를 해결하기 위해 각 테스트 케이스에 대해 (동적으로) 함수를 만드는 것이 좋을지도 모른다고 생각했습니다.
pytest은 (http://pytest.org/)도 생성 기반 테스트를 지원한다. –
+1 도움이되는 링크 ---이 질문과 다른 질문에 대한 비슷한 대답의 링크에는 해당 링크가 없습니다. –