Должен Python unittests быть в отдельном модуле?

Нет, нет никакого стандарта для размеров шрифта. Стандарт только требует что:

sizeof(short int) <= sizeof(int) <= sizeof(long int)

лучшая вещь можно сделать, если Вы хотите переменные, фиксированные размеры должны использовать макросы как это:

#ifdef SYSTEM_X
  #define WORD int
#else
  #define WORD long int
#endif

Тогда можно использовать WORD для определения переменных. Не то, чтобы мне нравится это, но это большая часть портативного устройства путь.

17
задан Jon Mills 27 August 2009 в 13:23
поделиться

7 ответов

  1. Где вам нужно, если вы используете библиотеку, определяющую, где должны размещаться unittests,
  2. в самих модулях для небольших проектов или
  3. в подкаталоге tests / в вашем пакете для более крупных проектов.

Это вопрос того, что лучше всего подходит для создаваемого вами проекта.

Иногда библиотеки, которые вы используете, определяют, куда должны идти тесты, как в случае с Django (где вы поместите свои тесты в подкаталог models.py , tests.py или tests / в ваших приложениях).

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

Для чего-либо, кроме нескольких модулей, я создаю тесты отдельно в каталоге tests / в пакете. Смешивание кода тестирования с реализацией добавляет ненужный шум для всех, кто читает код.

11
ответ дан 30 November 2019 в 11:22
поделиться

Personally, I create a tests/ folder in my source directory and try to, more or less, mirror my main source code hierarchy with unit test equivalents (having 1 module = 1 unit test module as a rule of thumb).

Note that I'm using nose and its philosophy is a bit different than unittest's.

10
ответ дан 30 November 2019 в 11:22
поделиться

ДА, используйте отдельный модуль

На самом деле нет смысла использовать уловку __ main __ . Просто предположите, что у вас есть несколько файлов в вашем модуле, и он больше не работает, потому что вы не хотите запускать каждый исходный файл отдельно при тестировании модуля.

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

Нет, правда. Поместите свои тесты в tests / , свой документ в doc и подготовьте Makefile для make test . Любые другие подходы являются лишь промежуточными решениями, действительными только для определенных крошечных модулей.

12
ответ дан 30 November 2019 в 11:22
поделиться

I generally keep test code in a separate module, and ship the module/package and tests in a single distribution. If the user installs using setup.py they can run the tests from the test directory to ensure that everything works in their environment, but only the module's code ends up under Lib/site-packages.

4
ответ дан 30 November 2019 в 11:22
поделиться

I usually have them in a separate folder called most often test/. Personally I am not using the if __name__ == '__main__' check, because I use nosetests and it handles the test detection by itself.

1
ответ дан 30 November 2019 в 11:22
поделиться

There might be reasons other than testing to use the if __name__ == '__main__' check. Keeping the tests in other modules leaves that option open to you. Also - if you refactor the implementation of a module and your tests are in another module that was not edited - you KNOW the tests have not been changed when you run them against the refactored code.

3
ответ дан 30 November 2019 в 11:22
поделиться

if __name__ == '__main __' и т. Д. Отлично подходит для небольших тестов.

0
ответ дан 30 November 2019 в 11:22
поделиться
Другие вопросы по тегам:

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