nosetests가 내 인쇄 명세서의 출력을 캡처하고 있습니다. 이것을 우회하는 방법?


142

입력 할 때

$ nosetests -v mytest.py

모든 테스트가 통과되면 모든 인쇄 출력이 캡처됩니다. 모든 것이 통과해도 인쇄 출력을보고 싶습니다.

그래서 내가하고있는 일은 어설 션 오류가 출력을 보도록 강제하는 것입니다.

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)

그것은 해킹처럼 느껴지며 더 좋은 방법이 있어야합니다. 제발 깨달아 줘


프로그래밍 방식으로 수행하는 방법을 알고 있습니까?
Yauhen Yakimovich

답변:


219

어느 한 쪽:

$ nosetests --nocapture mytest.py

또는:

$ NOSE_NOCAPTURE=1 nosetests mytests.py

( nose.cfg파일에 지정할 수도 있습니다 . 참조 nosetests --help)


3
유용한 답변에 감사드립니다. : 나는 또한 포스트에 설명 된대로 내가) (nose.main에이 인수를 전달할 수 아는 것이 도움이 발견 stackoverflow.com/questions/7070501/...
데이비드 홀

1
누군가가 소스를보고 싶어하는 경우 : nose.readthedocs.org/en/latest/plugins/capture.html
Ceasar Bautista

12
이 명령의 짧은 버전은입니다 nosetests -s. 다른 표준 옵션에 대해서는 -h도움말 또는 기본 사용법 도움말 페이지를 참조하십시오.
dbn

python3.5 -m "nose"
Alex Punnen

1
이 옵션을 사용해도 시험이 통과 될 때 내 인쇄 명세서가 인쇄되지 않습니다
John Smith Optional

16

사용하다

--nologcapture 

그것은 나를 위해 일했다


9

이것은 --nocapture 대신에 최근에 코에 추가되었습니다.

코 테스트 -s


이것은 질문에 대한 답변을 제공하지 않습니다. 저자에게 비평을하거나 설명을 요청하려면 게시물 아래에 의견을 남겨주십시오.
Bhargav Rao

7
@BhargavRao "이 코 테스트를 수행 -s"는 질문에 대답합니다 (단, 문법은 거의 고려하지 않음). 왜 당신이 반대하고 있는지 잘 모르겠습니다.
dbliss

1
-s의 단일 문자 약어 --nocapture로 플래그를 문서 당 .
joelostblom

3

http://travis-ci.org 와 통합하기 위해 이것을 .travis.yml에 넣었습니다 .

script:  "python setup.py nosetests -s"

어디 setup.py가 포함되어 있습니다 :

setup(
    ...
    tests_require=['nose>=1.0'],
    test_suite='nose.collector',
)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.