2013-08-12 45 views
25

Tôi đã cố gắng thêm các tham số @pytest.mark.parametrize parametrized vào một lớp không căn cứ.Công việc thử nghiệm có tham số tối ưu nhất với các bài kiểm tra dựa trên lớp không nhất thiết?

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

Nhưng những thứ parametrized không đá trong:

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

tôi đã chuyển sang kiểm tra dựa trên lớp đơn giản (không có unittest). Nhưng tôi muốn biết nếu có ai thử nó và nó đã hoạt động.

Trả lời

24

Theo pytest documentation:

unittest.TestCase phương pháp không thể trực tiếp nhận chức năng cố định lập luận như thực hiện mà có thể gây ra cho khả năng chạy chung unittest.TestCase dãy phòng thử nghiệm.