2013-11-29 17 views
10

Tôi đang cố gắng tạo các lớp thử nghiệm không phải là không dựa trên cơ sở.py.test không tìm thấy các bài kiểm tra theo một lớp học

Phương pháp này dưới lớp này

class ClassUnderTestTests: 

    def test_something(self): 

không thể phát hiện và chạy khi bạn gọi py.test từ dòng lệnh hoặc khi bạn chạy thử nghiệm này trong PyCharm (đó là trên mô-đun riêng của mình).

này

def test_something(self): 

cùng phương pháp bên ngoài của một lớp có thể được phát hiện và chạy.

Tôi muốn nhóm các bài kiểm tra của mình dưới các lớp học và trừ khi tôi bỏ lỡ nội dung nào đó tôi đang theo dõi py.test spec để làm điều đó.

Môi trường: Windows 7, PyCharm có py.test được đặt làm Á hậu thử nghiệm.

+0

Bạn có thể tùy chỉnh pytest cấu hình yêu cầu của bạn với một pytest.ini tại thư mục gốc của thư mục kiểm tra của bạn https://pytest.org/latest/customize.html –

Trả lời

19

Theo quy ước nó tìm kiếm

Kiểm tra tiền tố lớp học thử nghiệm (không có một init phương pháp)

ví dụ.

# content of test_class.py 
class TestClass: 
    def test_one(self): 
     x = "this" 
     assert 'h' in x 

    def test_two(self): 
     x = "hello" 
     assert hasattr(x, 'check') 

Xem các tài liệu here

+3

tôi d muốn thêm vào, rằng những thứ này cần phải là phương pháp thông thường, '@ staticmethod' sẽ không được tìm thấy – DariusL

Các vấn đề liên quan