Отключите отдельные модульные тесты Python временно

Как отдельные модульные тесты могут быть временно недоступными при использовании unittest модуль в Python?

111
задан Acumenus 22 February 2017 в 16:14
поделиться

4 ответа

A Расчетные продукты , который выбирает соответствующий алгоритм, основанный на типе IFOO , который вы предоставляете, решат проблему (по стоимости условного):

interface ICalcSomethingStrategy {
    public double CalcSomething(IFoo, IAnotherClass);
}

CalcSomethingStrategyFactory {
    ICalcSomethingStrategy CreateCalcSomethingStrategy(IFoo foo) {
        // I'm not sure whether this is the idiomatic java way to check types D:
        if (foo.Bar instanceof UpBar && foo instanceof Yip) {
            return new UnusualCalcSomethingStrategy();
        } else {
            return new StandardCalcSomethingStrategy();
        }
    }
}
-121 -3181277-

Я просто переименовывает метод тестового корпуса с подчеркиванием: test_myfunc становится _test_myfunc.

5
ответ дан 24 November 2019 в 03:00
поделиться

Вы можете использовать декораторы для отключения теста, который может обернуть функцию и предотвращать тест GoogleteSt или Python для запуска теста.

def disabled(f):
    def _decorator():
        print f.__name__ + ' has been disabled'
    return _decorator

@disabled
def testFoo():
    '''Foo test case'''
    print 'this is foo test case'

testFoo()

Выход:

testFoo has been disabled
26
ответ дан 24 November 2019 в 03:00
поделиться

Каждое утро, перед началом работы, мы проводим совещание. Одна из вещей в контрольном списке - статус ночного построения. Наша система сборки выкладывает электронное письмо после его запуска, сообщая о статусе, поэтому это легко узнать - как это бывает, оно достается одному парню, но на самом деле оно должно идти всем, или быть размещено на вики-сайте проекта.

Если сборка нарушена, то исправление становится задачей высшего приоритета, которую нужно решать, как и любую другую задачу, а это значит, что мы решим, кто будет над ней работать, а затем они пойдут и сделают это. Мы занимаемся парным программированием, и обычно рассматриваем это как парную задачу. Если у нас короткий штат, мы можем назначить одного человека для расследования поломки, а затем связать кого-то с ним, чтобы исправить это немного позже.

У нас нет формального механизма назначения задачи: мы небольшая команда (обычно шесть человек), и у нас есть коллективное владение кодексом, поэтому мы просто прорабатываем это между собой. Если мы думаем, что проверка одной конкретной пары нарушила построение, они обычно исправляют это. Если нет, то это может быть кто угодно; Обычно это решается, видя, кто в настоящее время не находится в середине другой задачи.

-121--4223198-

Судя по гуглингу, коллекция параметров может быть пустой. Я бы добавил пустой чек перед вызовом запроса.

Урок в том, что Google - ваш друг. Если вы не можете найти сообщение об ошибке, попробуйте ввести его в Google (или в вашем любимом ядре). Вы вряд ли будете первым, кого это смутило.

-121--1599531-

В docs для 2,1 не указан метод игнорирования или пропуска.

Обычно я блокирую комментарий, когда это необходимо.

3
ответ дан 24 November 2019 в 03:00
поделиться

Судя по гуглингу, коллекция параметров может быть пустой. Я бы добавил пустой чек перед вызовом запроса.

Урок в том, что Google - ваш друг. Если вы не можете найти сообщение об ошибке, попробуйте ввести его в Google (или в вашем любимом ядре). Вы вряд ли будете первым, кого это смутило.

-121--1599531-

Perl: $ foo ~ ~ ['последовательность', $ число, qr/regex/]

-121--4561415-

Последняя версия (2.7 - неизданная) поддерживает пропускание/отключение теста . Вы можете просто получить этот модуль и использовать его в существующей установке Python. Вероятно, это сработает.

Перед этим я переименовал тесты, которые я хотел пропустить, в xtest _ testname из test _ testname .


Вот быстрый сценарий elisp для этого. Мой Элисп немного ржавый, поэтому я заранее извиняюсь за любые проблемы, которые у него есть. Непроверенный.

  (defun disable_enable_test ()
  (interactive "")
  (save-excursion
    (beginning-of-line)
    (search-forward "def")
    (forward-char)
    (if (looking-at "disable_")
    (zap-to-char 1 ?_)
      (insert "disable_"))))
11
ответ дан 24 November 2019 в 03:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: