Передача опций носу в тесте Python script

Вместо запуска тестов на нос из командной строки я использую тестовый бегун, который устанавливает несколько вещей для всех тестов, включая подключение к локальному тестовому экземпляру MongoDB. Документация для носа только указывает, как передать параметры через командную строку или файл конфигурации, расположенный в вашем домашнем каталоге. Есть ли способ передать параметры, например --with-xunit, при использовании script для запуска тестов?

Ответ 1

Вот так:

import nose

argv = ['fake', '--with-xunit']
nose.main(argv=argv)

Аргумент "поддельный" должен быть добавлен для входа в исполняемое имя, как описано в ответе dbw.

Ответ 2

Нос делает что-то подлое с первым аргументом, поэтому он не анализируется. Моя обертка для носа делает что-то вроде этого:

import nose
import sys

argv = sys.argv[:]
argv.insert(1, "--with-xunit")
nose.main(argv=argv)

В качестве бонуса это позволяет клиентам вашей программы использовать аргументы Nose для управления своим поведением!