Рефакторинг тестов носа с несколькими настройками - PullRequest
0 голосов
/ 16 апреля 2011

Предположим, вы получили следующий код тестирования, где методы test1 и test2 запускают некоторые тесты для объекта grid.

N = 10
grid = Grid(N)

def test1():
    ...

def test2():
    ...

Каков наилучший способ добавить тесты, когда N = 11, чтобы те же методы test1 и test2 выполнялись на новом объекте? Конечно, можно просто создать новый файл, как показано ниже

N = 11
grid = Grid(N)

def test1():
    ...

def test2():
    ...

но это приведет к многократному дублированию кода.

1 Ответ

1 голос
/ 16 апреля 2011

Использование глобальных переменных является своего рода липким способом настройки тестовых случаев.Вы должны реорганизовать ваши тесты во что-то вроде следующего:

def test1(N):
    grid = Grid(N)
    ...


def test2(N):
    grid = Grid(N)
    ...

Оттуда, похоже, вы хотите взглянуть на генераторы тестов , включенные в nose.

...