nosetests is capturing the output of my print statements. How to circumvent this?
When I type
$ nosetests -v mytest.py
all my print outputs are captured when all tests pass. I want to see print outputs even everything passes.
So what I'm doing is to force an assertion error to see the output, like this.
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)
It feels so hackish, there must be a better way. Enlighten me please.
Solution 1:
Either:
$ nosetests --nocapture mytest.py
Or:
$ NOSE_NOCAPTURE=1 nosetests mytests.py
(it can also be specified in the nose.cfg
file, see nosetests --help
)
Solution 2:
Use
--nologcapture
it worked for me
Solution 3:
This was added recently to nose instead of --nocapture
do this:
nosetests -s
Solution 4:
In order to integrate with http://travis-ci.org I have put this into .travis.yml:
script: "python setup.py nosetests -s"
where setup.py contains:
setup(
...
tests_require=['nose>=1.0'],
test_suite='nose.collector',
)
Solution 5:
Try this,
nosetests -v 2 -s yourtest
Flags expect order.