2016-06-09 7 views
0

나는 다음과 같은 검사를 말한다. 이제 'b'을 매개 변수로 추가하고 싶습니다. 이상적으로 나는 단지 @pytest.mark.parametrize('ascii_val', [97, 98])과 같은 것으로 테스트를 꾸밀 수 있으며, ascii_val을 테스트 도구에 추가하고 ascii == ascii_val을 선언하십시오. Pytest 그러나,도 98와 97 'a''b'를 연결하는 나를 위해 어떤 방법이 있나요 97Pytest :이이 위대한 작품을</p> <pre class="lang-python prettyprint-override"><code>@pytest.fixture(params=['a']) def ascii(request): return ord(request.param) def test_ascii(ascii): assert ascii == 97 </code></pre> <p>: 예상 결과와 연관 매개 변수 비품

에 대하여 (98)에 대한 'a''b'을 주장 것인가? 나는 test_ascii과 같은 많은 테스트를 할 것이기 때문에 묻습니다. 일부 입력이 다른 분석 기술을 사용하여 동일한 출력을 일관되게 출력하는지 확인하게 될 것입니다.

답변

1

적어도 간단한 예제를 통해 테스트 매개 변수 대신 매개 변수화 된 조명기를 사용하는 이유는 무엇입니까? 이 같은

뭔가 작동합니다 : 당신이 정말 고정을 사용하고자하는 경우

@pytest.mark.parametrize('char, expected', [('a', 97), ('b', 98)]) 
def test_ascii(char, expected): 
    assert ord(char) == expected 

, 당신은 항상에서 (char, expected) 튜플을 반환하고 그와 함께 일할 수 있습니다.