2015-04-18 3 views
0

Я пытаюсь начать nosetests в программном пути от моего сценарияКак сделать nosetests использовать nosetests-2.7.exe

импорт носа nose.main()

или

импорт нос результат = нос.run()

и он не признает мои тесты, когда я использую:

импорт подпроцесс subprocess.call ('C: \ somePath \ nosetests-2.7.exe -w C: \ MyProject -v -s')

это работает, на мой вопрос я могу конфиг где-то нос.run() или нос.main() для использования nosetests-2.7.exe

ответ

0

Вы уверены, что проблема связана с неправильным носетестом двоичного кода? Что произойдет, если вы попробуете

nose.run(argv="-w C:\MyProject -v -s".split()) 

и какую ошибку вы в настоящее время получаете?

+0

он работает, но он не признает мои тесты, я сделал некоторые эксперименты и то, что я нашел, если я использую subprocess.call ('C: \ somePath \ nosetests.exe -w C: \ MyProject -v -s '), он не распознает их, и если я использую subprocess.call (' c: \ somePath \ nosetests-2.7.exe -w C: \ MyProject -v -s '), он отлично работает, я хочу тот же результат через программный способ, я думаю, мне нужно настроить каким-то образом носетесты на использование nosetests-2.7.exe – Chipopo

+0

Из [этого ответа] (http://stackoverflow.com/questions/1457104/nose-unable-to-find-tests- in-ubuntu), что произойдет, если вы запустите 'nose.run (argv =" - vv --collect-only ".split())'? –

+1

И что произойдет, если вы переименуете 'nosetests.exe' в' old_nosetests.exe' и 'nosetests-2.7.exe' в' nosetests.exe', а затем попробуете 'nose.run()'? –

0

Первый аргумент argv - это всегда сам процесс. Так что попробовать что-то вроде:

import sys 
    import nose 

    nose.run(argv=[sys.argv[0], 'C:\MyProject', '-s', '-v'])