С какой неизменной структурой учиться для Java сейчас? [закрыто

StackOverflow https://stackoverflow.com/questions/3411768

Вопрос

Хотя я запрограммировал с Java за примерно 3 года + сейчас (не повседневной, но, по крайней мере, я понимаю основные основы), не совсем не вошел в поле тестирования подразделений ...

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

Очевидно, что нет формального правила того, какие рамки будут идти в моей команде. Так что просто интересно, как новичок, какая рамка является хорошей, чтобы начать работу быстро?

Junit?

Testng?

или что-то другое?

Редактировать: Кажется, junit имеет более печатные книги в качестве ссылок по сравнению с Testng на Amazon. Но я не знаю их популярность / тренд в индустрии Java.

Это было полезно?

Решение

Я создатель Testng и автором книги «Тестирование следующего поколения», поэтому вот несколько (явно предвзятых) мыслей.

Для функционала (или заканчивается конец / интеграция / систему, независимо от того, какой термин вы предпочитаете) тестирование, Testng предлагает несколько функций, которые не имеют возможности JUnit, и что пользователи нашли очень полезны:

  • Группы. После того, как вы скомпилировали свои тесты, вы можете просто попросить Testng запустить все тесты «передние» или «Fast», «Slow», «База данных», и т. Д.

  • Поддержка многопоточного тестирования. Это имеет два разных значения:

1) Вы можете сказать Testng, чтобы одновременно запустить все ваши тесты в пулах Thread, которые вы определяете (одна строка изменяется в файле XML). Это очень настраивается так, что тесты, которые не являются многопотативными, все еще могут работать в одиночных потоках.

2) Вы можете сказать Testng, чтобы вызвать ваши методы теста N раз от P-потоках. Это дает вам хорошее представление о том, как Threade безопасен код, который вы тестируете.

  • Тестовые зависимости и детерминированные упорядочения. Это очень полезно для тестирования интеграции, где очень часто распространено методы испытаний, которые нуждаются в предыдущих методах испытаний, чтобы добиться успеха, прежде чем они смогут пройти. Testng очень популярен в сообществе Selenium для этой конкретной причины («не беспокоить тестирование этой страницы моего веб-сайта, если тест входа в систему не удалось»).

Другое непосредственное преимущество тестовых зависимостей заключается в том, что Testng может сообщить вам «1 метод неисправности, 99 методов пропущены», что является гораздо более точным результатом, чем «100 методов не удалось».

Testng имеет много функций, и я рад ответить здесь или в нашем рассылке (http://groups.google.com/group/testng-users. ).

Другие советы

Я бы узнал Testng с Унитасы. Отказ Все время охватывал все мои потребности. Добавить xmlunit и dbunit, и вы должны быть урегулированы в течение длительного времени.

Чтобы быть совершенно честным, я Junit - это более популярнее, чем тестирование, по крайней мере, здесь, где я работаю и живу. Я знаю, что это может быть странным аргументом, но если бы я был тобой, я бы сканировал, через некоторую работу добавляет и посмотреть, какие рамки отражают отрасль в вашем районе / стране (например, я собираюсь на JENIT из-за этого, я имею в виду Конечно, я мог бы узнать Testng, это может быть лучше, но что хорошо бы это сделать со мной, если все работодатели требуют знания Junit?).

Хотя может показаться мелким критерием, все вещи равны, похоже на тенденцию на работу в пользу юнита.

http://www.indeed.com/jobtrends?q=testng%2C+junit&l=.

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

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

Я использовал оба и обнаружил, что для модуля тестирования только Junit работает очень хорошо, но с точки зрения системного тестирования я бы рекомендовал Testng. Testng предлагает несколько дополнительных функций (например, параметрическое тестирование) и очень гибко. Например, в junit один тест не удается в наборе, обычно означает, что вы должны повторно запускать весь набор, но в Testng вы можете просто повторить тест, который не удался. Вот действительно хорошая статья, изложенная как (его немного предвзято к тестированию)

http://www.ibm.com/developerworks/java/library/j-cq08296/index.html.

Junit очень хорошо поддерживается во многих IDE, включая Eclipse, и Junit 4 с аннотациями довольно приятно работать.

Если у вас нет конкретных потребностей, пройдите для поддержки инструментов, то есть Junit.

Testng с Unifics действительно отлично. Он охватывает почти все требования. Unitils поддерживает множество утверждений Utils, весна, гибернации, насмешки издевательства, DBUTILS и т. Д.

Для меня это просто вопрос вкуса. Я Personaly использовал JUNIT ежедневно в течение более 5 лет, и я очень доволен этим, особенно с последней версией и его функцией @Rule, которая мешает моей команде написать один и тот же код снова и снова. Он хорошо интегрируется со всеми инструментами, которые я использую Daily: IDE, Building, непрерывная интуграция ...

Junit является известным и лучшим тестируемым инструментами, я думаю, что вы и мне оба знаете JUnit настолько важен, так что Java Developer изменяет свой узор кодирования в качестве вклада JUnit, вы можете узнать, что некоторые JUnit в качестве основных технологий тестирования единицы, а также изучать Testng в качестве второго блока Тестовые технологии.

Следующая ссылка может быть полезна для вас!http://www.javarmi.com/2010/08/junit-4-tuterialial-and-Adexample-get-starting/

Junit - лучшее место для начала. Junit 4.x имеет много богатых функций, таких как аннотации и т. Д., И она получила хорошую поддержку от популярных каркасов, таких как весна.

Я бы пошел на Junit.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top