nosetests đang nắm bắt đầu ra của báo cáo in của tôi. Làm thế nào để phá vỡ điều này?


142

Khi tôi gõ

$ nosetests -v mytest.py

tất cả các đầu ra in của tôi được chụp khi tất cả các bài kiểm tra vượt qua. Tôi muốn xem đầu ra in ngay cả mọi thứ đi qua.

Vì vậy, những gì tôi đang làm là buộc một lỗi xác nhận để xem đầu ra, như thế này.

class MyTest(TestCase):

    def setUp(self):
        self.debug = False

    def test_0(self):
        a = .... # construct an instance of something
        # ... some tests statements
        print a.dump()
        if self.debug:
            eq_(0,1)

Nó cảm thấy rất hackish, phải có một cách tốt hơn. Xin hãy soi sáng cho tôi.


Bất kỳ ý tưởng làm thế nào để làm điều đó theo chương trình?
Yauhen Yakimovich

Câu trả lời:


219

Hoặc:

$ nosetests --nocapture mytest.py

Hoặc là:

$ NOSE_NOCAPTURE=1 nosetests mytests.py

(nó cũng có thể được chỉ định trong nose.cfgtệp, xem nosetests --help)


3
Cảm ơn câu trả lời hữu ích. Tôi cũng thấy hữu ích khi biết rằng tôi có thể chuyển cuộc tranh luận này vào mũi.main () như được mô tả trong bài đăng: stackoverflow.com/questions/7070501/
David Hall

1
Trong trường hợp bất cứ ai cũng muốn xem nguồn: Nose.readthedocs.org/en/latest/plugins/capture.html
Ceasar Bautista

12
Phiên bản ngắn của lệnh này là nosetests -s. Đối với các tùy chọn tiêu chuẩn khác, hãy xem -htrợ giúp hoặc trang trợ giúp sử dụng cơ bản .
dbn

python3.5 -m "mũi" --nocapture
Alex Punnen

1
không phù hợp với tôi, ngay cả với tùy chọn này, bản in của tôi không được in khi các bài kiểm tra vượt qua
John Smith Tùy chọn

16

Sử dụng

--nologcapture 

nó làm việc cho tôi


9

Điều này đã được thêm vào gần đây vào mũi thay vì --nocapture làm điều này:

nosetests -s


Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ.
Bhargav Rao

7
@BhargavRao "làm điều này nosetests -s" trả lời câu hỏi (mặc dù, không liên quan đến ngữ pháp nhỏ nhất). Tôi không chắc tại sao bạn lại phản đối.
dbliss

1
Lưu ý rằng đó -slà chữ viết tắt của một --nocapturelá cờ theo tài liệu .
joelostblom

3

Để tích hợp với http://travis-ci.org tôi đã đưa phần này vào .travis.yml :

script:  "python setup.py nosetests -s"

nơi setup.py chứa:

setup(
    ...
    tests_require=['nose>=1.0'],
    test_suite='nose.collector',
)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.