Я начал работать над довольно большим (многопоточным) проектом Python с множеством (модульных) тестов. Самая важная проблема заключается в том, что для запуска приложения требуется заранее заданная среда, которая реализуется диспетчером контекста. До сих пор мы использовали исправленную версию средства запуска модульных тестов, которая запускала бы тесты внутри этого менеджера, но не позволяла переключать контекст между различными тестовыми модулями.
И нос, и pytest поддерживают такую вещь, потому что они поддерживают приспособления на многих уровнях детализации, поэтому мы планируем переключиться на нос или pytest. Обе эти библиотеки также будут поддерживать тесты «тегирования» и запускать только эти помеченные подмножества, что мы также хотели бы сделать.
Я немного просмотрел документацию и по носу, и по pytest, и, насколько я могу судить, большая часть этих библиотек по существу поддерживает одни и те же функции, за исключением того, что они могут называться по-другому или требовать немного другого синтаксиса. Кроме того, я заметил некоторые небольшие различия в доступных плагинах (в носу есть поддержка многопроцессорности, например, в pytest нет).
Кажется, дьявол кроется в деталях, что означает (по крайней мере, часто) в личном вкусе, и нам лучше выбрать библиотеку, которая лучше всего соответствует нашему личному вкусу.
Так что я бы попросил субъективного аргументации, почему я должен использовать нос или pytest, чтобы выбрать комбинацию библиотеки / сообщества, которая наилучшим образом соответствует нашим потребностям.