Если вы хотите использовать базовое перенаправление из оболочки, вы можете сделать
nosetests &> output.txt
Но, исходя из вашего вопроса, кажется, вы бы предпочли сделать что-то вроде:
$nosetests --processes 4 --with-xunit --xunit-file=test_output.xml
Полный пример :
$ls
test_nose.py test_nose.pyc
$cat test_nose.py
import sys
import os
import time
def setUp():
pass
def test_1():
time.sleep(5)
with open('test_pid_' + str(os.getpid()), 'w') as f:
f.write(str(os.getpid()) + '\n')
def test_2():
time.sleep(5)
with open('test_pid_' + str(os.getpid()), 'w') as f:
f.write(str(os.getpid()) + '\n')
def test_3():
time.sleep(5)
with open('test_pid_' + str(os.getpid()), 'w') as f:
f.write(str(os.getpid()) + '\n')
def test_4():
time.sleep(5)
with open('test_pid_' + str(os.getpid()), 'w') as f:
f.write(str(os.getpid()) + '\n')
def tearDown():
pass
$ nosetests --processes 4 --with-xunit --xunit-file=test_output.xml
....
----------------------------------------------------------------------
Ran 4 tests in 5.223s
OK
$ ls
test_nose.py test_output.xml test_pid_55247 test_pid_55249
test_nose.pyc test_pid_55246 test_pid_55248
$ cat test_pid*
55246
55247
55248
55249
$ xmllint -format test_output.xml
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="nosetests" tests="0" errors="0" failures="0" skip="0"/>
Похоже, это не работает, как вы сказали:)
Но
$nosetests --processes 4 &> output.txt
И
$nosetests --with-xunit --xunit-file=test_output.xml
Do.
Ссылки:
Перенаправление stderr и stdout в скрипте Bash
$man xmllint
$nosetests -h