Подтвердить что ты не робот

Модульные тесты в Python

У Python есть единая тестовая среда, совместимая со стандартным стилем xUnit для тестовой среды? Если да, то что это, где оно, и хорошо ли это?

4b9b3361

Ответ 2

Я рекомендую nose.

Это самый Pythonic из фреймворков unit test. Тест-бегун выполняет как доктрины, так и unittests, поэтому вы можете использовать любой стиль теста, который вам нравится.

Ответ 3

Там testoob, который является довольно полным набором тестов. Также xUnit - то есть, и имеет хорошую возможность отчетности

Ответ 4

@Greg: PyUnit включен в стандартную библиотеку как unittest

Ответ 5

Рассмотрим py.test. Не совсем аналогично NUnit, но очень хорошо, с хорошими функциями, включая автоматическое обнаружение тестов и "Наблюдение за тестами и кодом", - когда что-то меняется, перезапускают тесты, которые потерпели неудачу в последний раз. Как только все тесты пройдут, переключитесь на запуск всех тесты, когда что-то меняется ". вариант.

Ответ 6

Я рекомендую Нос.

После разумной простой установки вам просто нужно запустить "nosetests" в папке проекта, а Nose найдет все ваши тесты и запустит их. Мне также нравится коллекция плагинов (покрытие, GAE и т.д.) И способность звонить Nose непосредственно из моих сценариев Python.

Ответ 7

Существует также PyUnit, который может быть тем, что вы ищете.

Ответ 8

Никогда не используется xUnit, поэтому я не могу сказать вам, хороши/плохи ли они в сравнении, но здесь является script Я написал, что использует unittest framework (чтобы проверить API работает так, как он должен), и doctest (чтобы проверить примеры, которые я дал работе)

Моя единственная проблема заключается в том, что проверка чего-то вызывает исключение, слегка запутанное (вам нужно передать ему функцию/лямбда, которая вызывает исключение, а не только сама команда, как и вся остальная часть фреймворка). Кроме этого, он делает то, что он должен, надежно, и он довольно долго был включен в дистрибутив python по умолчанию.

Ответ 9

нос кажется лучшим сочетанием гибкости и удобства. Он запускает unittests, doctests, охват (с расширением) и py.test-подобные тесты из одной структуры и делает это превосходно. У него достаточно популярность, что у нее была некоторая интеграция IDE, а также для Komodo Edit, и я не удивлюсь, увидев ее в другом месте.

Мне нравится это по одной серьезной причине: я почти всегда учусь, прежде чем писать более обширные тесты в другой структуре. Это потому, что для базовых тестов доктрины убивают двух зайцев одним камнем. Вы получаете исполняемые тесты (хотя они немного неуклюжи, чтобы писать хорошо иногда), а также документацию API и интерактивную документацию одновременно. нос будет запускать их с добавленным расширением доктрины, когда вы используете опцию командной строки (--with-doctest).

Я говорю, что это произошло из py.test как мой бывший фаворит. Хотя это здорово, тесты на нос настолько похожи на меня, что я не скучаю по нему, и мне нравится интеграция различных тестовых методик под одной крышей, так сказать. YMMV, но я рекомендую внимательно посмотреть на нос, прежде чем выбрать другой. Если вы не знакомы с испытаниями py.test, вы также должны посмотреть на них. Я нахожу их потрясающими, потому что они обычно пишутся таким образом, что их можно легко отладить без рамки тестирования, что делает менее сложную систему, участвующую в сеансе отладки. Я считаю, что это бесценно, в то время как они также легче писать, чем тесты unittest, на мой взгляд.