2017-12-06 11 views
5

Tôi đang chạy một số nosetests với các trường hợp thử nghiệm trong các mô-đun khác nhau (tệp), mỗi tệp có chứa các thử nghiệm khác nhau.Làm thế nào để xác định một phương pháp thiết lập chỉ được gọi một lần trong khi thử nghiệm với nosetest?

Tôi muốn xác định hàm/phương thức chỉ được gọi một lần trong khi thực thi với nosetest.

Tôi đã xem documentation (và ví dụ: here) và xem có các phương pháp như setup_module v.v. - nhưng ở đâu và cách sử dụng chúng? Đặt chúng vào __init__.py của tôi? Thứ gì khác?

Tôi cố gắng để sử dụng như sau:

class TestSuite(basicsuite.BasicSuite): 
    def setup_module(self): 
     print("MODULE") 

    ... 

nhưng bản in này không bao giờ được thực hiện khi tôi chạy thử nghiệm với nosetest. Tôi cũng không lấy được từ unittest.TestCase (sẽ dẫn đến lỗi).

Trả lời

9

Khi xem mức gói, bạn có thể xác định hàm có tên setup trong gói __init__.py của gói đó. Gọi các thử nghiệm trong gói này, chức năng setup trong __init__.py được gọi một lần.

thiết lập Ví dụ

- package 
    - __init__.py 
    - test1.py 
    - test2.py 

Xem documentation phần 'gói thử nghiệm'.

1

Hãy thử điều này một

from nose import with_setup 

def my_setup_function(): 
    print ("my_setup_function") 

def my_teardown_function(): 
    print ("my_teardown_function") 

@with_setup(my_setup_function, my_teardown_function) 
def test_my_cool_test(): 
    assert my_function() == 'expected_result' 

Holp nó giúp ^^

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