2013-08-12 17 views
25

Ho cercato di aggiungere i test parametrizzati @pytest.mark.parametrize a un unestest basato sulla classe.Il test parametrizzato di pytest funziona con test basati su classi non testate?

class SomethingTests(unittest.TestCase): 
    @pytest.mark.parametrize(('one', 'two'), [ 
     (1, 2), (2, 3)]) 
    def test_default_values(self, one, two): 
     assert one == (two + 1) 

ma la roba parametrizzata no calcio in:

TypeError: test_default_values() takes exactly 3 arguments (1 given) 

che ho passato a test basati semplice classe (senza unittest). Ma mi piacerebbe sapere se qualcuno l'ha provato e ha funzionato.

risposta

24

Secondo pytest documentation:

unittest.TestCase metodi non possono ricevere direttamente funzione Apparecchio argomenti attuazione che rischia di infliggere sulla capacità di generalità unittest.TestCase test suite.

Problemi correlati