When I run tests with
./manage.py test, whatever I send to the standard output through
settings.py, it's using a project-specific runner that calls out to Nose. Nose has the
-s option to stop it from capturing
stdout, but if I run:
./manage.py test -s
manage.py captures it first and throws a "no such option" error. The help for
manage.py doesn't mention this, but I found that if I run:
./manage.py test -- -s
it ignores the
-s and lets me capture it on the custom runner's side, passing it to Nose without a problem.
Yeah, this issue is caused by
-- -s is tricky and not the best solution.
Try to add the following lines in the
NOSE_ARGS = ['--nocapture', '--nologcapture',]
This solved my problems.