Какие тестовые фреймворки xunit реализованные на java существуют
На протяжении десятилетий Java была наиболее предпочтительным языком программирования для разработки серверного уровня приложения. Хотя JUnit и разработчики помогали им в автоматизированном модульном тестировании, со временем и развитием тестирования, когда автоматизированное тестирование в настоящее время находится на подъеме, было разработано много сред с открытым исходным кодом, которые основаны на Java и сильно отличаются от JUnit с точки зрения валидации и бизнес-логики. Здесь я буду говорить о 5 лучших фреймворках Java-тестирования 2019 года для автоматизации тестирования с Selenium WebDriver и Java. Я также выделю то, что уникально в этих лучших тестовых средах Java.
6. Gauge
Преимущества и недостатки спокойствия
Давайте посмотрим на преимущества Serenity, внесенные в мир поведенческого развития.
- Среда помогает тестировщику в создании тестовых случаев для служб REST.
- Пользователям не нужно тратить много времени на поддержание или создание своей собственной инфраструктуры автоматизации.
- Он сохраняет баланс, а скорее границу между определением и пониманием тестового примера и способом его реализации.
- Он может быть интегрирован с множеством сред автоматизации, таких как Selenium, JBehave, передовыми средами разработки на основе Java, такими как Spring, и даже с инструментами непрерывной интеграции, такими как JIRA.
Единственный недостаток Serenity, как у JBehave. Постоянное общение между участниками проекта необходимо для того, чтобы использовать его полную функцию поддержки развития, управляемого поведением.
JBehave
Мы все знаем о поведенческой разработке или BDD. Это тип тестирования, который описывает приемочное тестирование прозрачным образом для бизнес-пользователей. JBehave – это еще одна среда тестирования Java, используемая для тестирования BDD, в основном используемая в Selenium WebDriver для Java. Основная цель внедрения JBehave – дать новичкам возможность легко понять и ознакомиться с BDD. Это своего рода философия дизайна, которая делает фазу тестирования приложения более основанной на его поведении.
TestNG
Седрик Беуст создал TestNG, который представляет собой фреймворк для автоматизации тестирования с открытым исходным кодом на основе Java, вдохновленный JUnit. Тем не менее, это гораздо мощнее. NG означает следующее поколение в TestNG. Фреймворк предназначен для лучшей работы во время интеграции. Фреймворк помогает разработчикам с такими функциями, как секвенирование, группирование и параметризация, что делает новые тестовые сценарии более гибкими и устраняет недостатки ранее используемых фреймворков.
1. JBehave
TestNG – лучший для вас Java Test Framework?
Хотя JUnit выполняет все те же функции, что и TestNG, он имеет определенные ограничения. JUnit идеально подходит, когда тестирование проводится изолированно. Но когда есть зависимости, вы не будете иметь никакого контроля над тем, какой тест выполняется первым. TestNG помогает вам, позволяя вам запускать тесты в любом порядке. Кроме того, это также помогает в параметризованном тестировании. Хотя эта функция уже присутствует в JUnit 4.5, TestNG гораздо эффективнее. Если ваш проект сложен и вам может потребоваться более ста тестовых случаев, то лучше взять некоторое время и настроить TestNG вместо зависимости от JUnit.
Если вы новичок в TestNG, то вот полное руководство по запуску вашего первого сценария автоматизации TestNG для выполнения автоматического межбраузерного тестирования с использованием Selenium WebDriver с Java.
8. Spock
- Де-факто это расширенная версия Java-фреймворка JUnit;
- Поддержка mock-объектов;
- Тесты можно писать на любом языке.
- Последняя версия JDK;
- Обновленная версия Eclipse;
- Знание языка программирования Java.
- Потрясающая читаемость, обеспечивающая совместимость с предложениями на простом английском языке по сравнению с другими платформами тестирования автоматизации Java.
- Stubbing и Mocking со Spock стали намного проще и безболезненнее, чем когда-либо. К тому же, они встроены во фреймворк.
- Более четкая и короткая параметризация.
- Поддерживает окружающий контекст, что упрощает обнаружение причины сбоя.
- Упрощенный и коммуникативный предметно-ориентированный язык (DSL).
- Он написан на Groovy, поэтому вы должны иметь базовые знания Groovy.
- Вам может показаться, что фреймворк Spock немного неудобен, но как только вы ознакомитесь с ним, вы не будете думать о переходе на другие тестовые фреймворки Java.
Преимущества и недостатки использования JUnit?
У JUnit есть несколько преимуществ.
- Разработчики, которые работают в среде, управляемой тестами, считают ее очень полезной, поскольку они вынуждены читать код и обнаруживать наличие аномалий.
- Ошибки обнаруживаются рано, в результате чего более надежный код.
- Разработка более читабельного и безошибочного кода действует как средство повышения уверенности.
- В последней версии JUnit (версия 4) исключения легко идентифицируются. Даже вы можете выполнить тестовые случаи, написанные в старой версии JUnit.
- Вы также можете использовать его с Java 5 или версиями выше.
- Фреймворк не может выполнять тесты зависимостей. Вот где нам нужен TestNG.
Единственный недостаток JUnit это
- Фреймворк не может выполнять тесты зависимостей. Вот где нам нужен TestNG.
селенида
Selenide – лучшая среда тестирования Java для вас?
Для тестирования пользовательского интерфейса не существует лучшей среды на основе Java, кроме Selenium WebDriver, родительской платформы Selenide. Очевидно, что WebDriver не может решить проблемы, вызванные Ajax Timeout или медленным запуском JavaScript или любого динамического содержимого, для загрузки которого требуется время. Чтобы преодолеть проблемы, мы ранее использовали методы «wait_until» или «sleep» в наших тестовых случаях. С Selenide нам больше не нужно думать об этих проблемах. Просто сосредоточьтесь на бизнес-логике, и контрольные примеры будут отлично работать в своих целях.
Если вы планируете выбрать Selenide в качестве среды тестирования Java для тестирования автоматизации, то вот руководство, которое поможет вам запустить тесты автоматизации Selenium с использованием Selenide, IntelliJ и Maven.
В нынешнем Agile веке разработчики также должны участвовать в тестировании. Знание и знание важности тестирования – это то, что отличает профессиональных разработчиков Java от любителей. Вам не обязательно быть экспертом, но, по крайней мере, у вас должны быть базовые знания для написания тестовых случаев, которые могут автоматически проверять ваш код. В этой статье мы рассмотрели 5 инструментов, которые предпочитают разработчики во всем мире для тестирования пользовательского интерфейса, модульного тестирования и BDD-тестирования приложения. Основываясь на сравнении, мы можем сделать вывод, что если вы искренни в своей работе и хотите стать опытным разработчиком, а также тестером, упомянутые выше инструменты – это то, что вы найдете полезным в своих ежедневных заданиях.
Мнения, высказанные участниками Java Code Geeks, являются их собственными.
Идея статьи возникла после нескольких лекций о том, как писать тесты и как использовать xUnit. Обо всём можно по отдельности почитать подробно. Здесь же я собрал общую информацию о том, как удачно на практике всё это применяется и сопроводил ссылками, для дальнейшего ознакомления. Обзор делался по версии 2.0.
Соглашения в коде
- Расположение проекта: в фолдере Tests
- Имя тестового проекта: [ProjectName].Tests
- Пространство имен: [Namespace].Tests
- Имя класса с тестами: [Class]Tests
- Пара 1-1 из тестируемого класса и класса с тестами
- Наименование юнит-тестов: BDD (мануал)
- Стиль тестов: AAA (Arrange-Act-Assert)
Сравнение xUnit с другим фреймворками
- Проверка исключений делается ассертами, вместо атрибутов, что больше соответствует стилю AAA (Assert.Throws, Record.Exception). Внутри исключения ловятся try-catch блоком.
- Замена специальных атрибутов естественными возможностями языка (конструктор, IDisposable, IClassFixture, ICollectionFixture)
Fact, Theory и другие понятия
Fact — это отдельный юнит-тест, не принимающий параметров. Theory — это тест, принимающий параметры, при этом может быть несколько сценариев. Fixture — класс для настройки и очистки некоторого контекста. Контекст присоединяется к классу с тестами либо с помощью интерфейса IClassFixture, либо с помощью коллекции и интерфейса ICollectionFixture. Коллеция может включать несколько классов с тестами.
Пример Fact и двух вариантов Theory:
Чуть больше деталей тут и тут.
Контексты и выполнение тестов
По умолчанию, тесты в одном классе и коллекции выполняются синхронно. Например, если при выполнении тестов у вас используется расшаренный ресурс и это вызывает проблемы (например, тесты падают, т.к. ресурс залочен), то можно поместить такие тесты в одну коллекцию и проблема уйдет, т.к. исчезнет параллелизм. В целом, стек вызовов и то, что происходит выглядит, примерно, так:
Стоит отметить, что при определении коллекции используется класс-маркер, который не создаётся вообще. Создаются только классы, присоединенные с помощью ICollectionFixture. Об этом подробнее читайте тут, а о параллелизме — тут.
Поддрежка CI
Она есть, правда, не везде из коробки. В моём любимом TeamCity всё отлично, т.к. делать ничего не надо. Хуже в Jenkins, т.к. надо заморочиться с установкой плагина. А вот в TFS темный лес. Мне не удалось найти вменяемого примера установки и запуска xUnit. Буду рад ссылкам. Остается запуск силами скриптов MSBuild и NAnt.
Для поддержки xUnit, в тестовом проекте задана NuGet-зависимость на соответствующий пакет xunit:
Этот мета-пакет не содержит бинарных файлов, а добавляет несколько зависимостей на NuGet-пакеты xunit.core, xunit.assert и xunit.analyzers. Это тестовое API xUnit. Каждый тестовый метод в xUnit помечается атрибутом [Fact] для обычных тестов или [Theory] для параметризованных тестов. Обычно, каждому тестируемому модулю соответствует свой тестовый класс с набором тестовых методов, проверяющих ту или иную логику. Каждому тестируемому проекту соответствует свой тестовый проект.
Когда мы меняем код в рамках непрерывной интеграции проекта, TeamCity автоматически собирает его и проводит модульное тестирование. Чтобы этот процесс заработал, необходимо настроить соответствующую конфигурацию сборки. TeamCity предоставляет множество способов сделать это, но мы рассмотрим лишь некоторые из них. Эти способы перечислены по мере упрощения подхода к тестированию: от настройки всех шагов вручную до самого удобного подхода, при котором TeamCity берет на себя решение большинства задач.
безмятежность
Serenity – это библиотека с открытым исходным кодом, предназначенная для тестирования поведения. Структура помогает вам написать критерии приемлемости, которые хорошо структурированы и более поддерживаются. Расширяет функциональность JUnit и WebDriver. Первоначально он был известен как Фукидид. Причиной смены названия была не что иное, как сложность произношения. Тем не менее, старое имя может быть использовано при обращении.
3. Serenity
- Проект с открытым исходным кодом;
- Полные отчеты о результатах тестирования и реализации;
- Отчет в бизнес-формате для каждого теста.
- JDK 5 или более поздняя версия.
- Maven 3.0 или более поздняя версия.
- IDE (обычно это Eclipse).
- Фреймворк помогает тестировщику создавать тестовые примеры для служб REST.
- Поддерживает баланс между описанием и пониманием тестового примера, а также подходом к его реализации.
- Пользователям не нужно тратить дополнительное время на поддержку или создание собственной автоматизированной инфраструктуры.
- Serenity можно интегрировать с различными фреймворками разработки, такими как Spring, и фреймворками тестирования, такими как Selenium, JBehave, а также с инструментами управления проектами, такими как JIRA.
Преимущества и недостатки селенида?
На внешнем уровне приложения, где Java используется на стороне сервера, наиболее распространенной проблемой, с которой сталкивается тестер, являются тайм-ауты. Тестовые случаи, которые вы написали, в настоящее время могут работать нормально, но через несколько дней, возможно, какой-то Ajax-запрос займет больше времени, чем сейчас, или Javascript будет работать медленнее. Кроме того, ваша система может одновременно запустить другой процесс, что приведет к сбою тестового примера. Что еще более печально, вы можете потратить дни, чтобы выяснить источник этих проблем. Selenide помогает вам
- Краткая процедура написания тестовых случаев, которая устраняет проблемы с таймаутом.
- Поддерживает тестирование приложений, разработанных с использованием AngularJS
- Сократили большинство команд, которые использовались традиционными инструментами Selenium.
До сих пор мы не обнаружили каких-либо заметных недостатков использования селенида. Сообщите нам, если вы обнаружили какие-либо ограничения, которые могут повлиять на вашу работу.
Serenity – лучшая среда тестирования Java для вас?
5. Selenide
- Не требует сложной настройки;
- Не требует написания большого количество кода;
- Экономит массу времени;
- Идеальная конфигурация для CI Tool, такого как Jenkins.
- JDK 5 или более новая версия;
- Maven 3.0 или другие версии;
- Инструмент интегрированной среды разработки (IDE). Чаще всего все разработчики предпочитают Eclipse, поскольку с комбинацией Eclipse и Maven проще работать.
- Selenide делает ваши тесты точными и стабильными, решая (почти) все проблемы с Ajax/timing.
- Сокращение процесса написания тестовых примеров.
- Поддержка тестов приложений, разработанных с использованием AngularJS.
- Сокращает количество команд, которые ранее использовались другими инструментами Selenium.
Каковы предпосылки для использования селенида?
Установка Selenide настолько проста, насколько это возможно. Если вы используете Maven, вам нужно будет добавить следующие строки в ваш файл pom.xml.
Если вы используете Ivy, в файле ivy.xml вам нужно будет добавить
И вот так, фреймворк готов для вас, чтобы начать тестирование.
Является ли JUnit лучшей тестовой средой Java для вас?
И JUnit, и TestNG выполняют одинаковую работу. И их возможности почти одинаковы, за исключением того, что тесты зависимостей не выполняются с использованием JUnit, а процедура реализации параметризованного теста отличается в обеих платформах. Кроме того, поскольку JUnit используется в течение длительного времени, улучшена поддержка сообщества, и он был определен как стандарт для модульного тестирования с использованием Selenium WebDriver для приложений на основе Java. Несмотря на то, что у TestNG мало пользователей, сообщество все еще довольно большое и растет с каждым днем. Таким образом, мы можем сделать вывод, что выбор между TestNG или JUnit для тестовой среды Java полностью зависит от характера и требований приложения.
Если вы хотите начать работу с JUnit в качестве среды тестирования Java, приведите пошаговый процесс автоматического тестирования с JUnit & Selenium для совместимости браузера.
Meta-Runners Power Pack
Здесь первый шаг идентичен шагу (2) из предыдущего подхода. Второй шаг, на основе мета-ранера, запускает тесты и выглядит внушительно:
Преимущества и недостатки JBehave
Как и все другие среды тестирования BDD, JBehave также имеет много преимуществ.
- Служит наиболее важной цели управляемой поведением разработки, обеспечивая лучшую координацию между различными командами разработчиков, которые работают над различными проектами со сходными спецификациями.
- Руководители проектов и заинтересованные стороны получают более четкое представление о результатах работы команды разработчиков и группы обеспечения качества, поскольку спецификации имеют схожий формат.
- Продукты имеют лучшие характеристики, так как JBehave отличается продуманностью и продуманностью.
- JBehave использует полуформальный язык, а также имеет словарь предметной области, который помогает поддерживать согласованное поведение в структуре команды.
Ну, у JBehave есть только один недостаток, как и у любого другого инструмента тестирования BDD.
- Успех инструмента тестирования BDD зависит в основном от взаимодействия между различными участниками проекта, заинтересованными сторонами, разработчиками, тестировщиками, а также руководством организации. Отсутствие связи может привести к возникновению вопросов и сомнений без ответа, что в конечном итоге может привести к появлению приложения с ошибками или приложения, не удовлетворяющего требованиям бизнеса, в результате чего все стороны обвиняют друг друга.
2. JUnit
- Наборы тестов;
- Использование общих наборов объектов;
- Классы JUnit;
- Test Runners.
- Наличие на вашем компьютере последней версии JDK.
- (Необязательно) Разархивируйте $ JUNIT_HOME / src. jar файл.
- Наличие навыков и опыта разработки приложений на объектно-ориентированном языке, желательно на Java.
- Загрузите новую версию JUnit и настройте фреймворк.
- Поскольку JUnit поддерживает функции Java 8, его можно использовать как для интеграционных, так и для модульных тестов.
- Фреймворк позволяет легко обнаружить ошибки на ранней стадии, в результате чего получается исправный и надежный код.
- Программисты, работающие с JUnit, находят его чрезвычайно полезным. С ним легче читать код и проверять наличие уязвимостей.
- JUnit позволяет создавать код, свободный от ошибок и с лучшей удобочитаемостью.
- Совместим с практически всеми основными IDE, такими как Eclipse, NetBeans, Maven, Ant и IntelliJ IDEA. Таким образом, вы можете легко написать и запустить модульный тест напрямую из этих IDE.
- Используя обновленную версию JUnit (версия 5), можно легко определить исключение (exemption).
- Фреймворк модульного тестирования можно использовать с Java 5 или другими версиями.
Является ли JBehave лучшей тестовой средой Java для вас?
JBehave работает так же, как Serenity. Однако, если вы хотите повысить эффективность своих автоматических приемочных тестов, идеально использовать Serenity вместе с JBehave, чтобы повысить качество тестирования. Это связано с тем, что основная концепция Serenity основана на разработке BDD, а также позволяет пользователям создавать мощный и богатый отчет о тестировании. Мы обсудим это подробнее в следующем разделе.
4. TestNG
- Поддерживает тестирование зависимых методов;
- Гибкая конфигурация теста;
- Поддерживает стойкую (sturdy) модель исполнения;
- Установлен в BeanShell для дополнительной гибкости.
- Последняя версия JDK;
- Последняя версия Eclipse;
- Понимание и практический опыт языка программирования Java или другого объектно-ориентированного языка программирования.
- Позволяет создавать и запускать параллельное тестирование нескольких фрагментов кода.
- При реализации тестового примера вы можете создать отчет в формате HTML.
- Тесты можно легко организовать и сгруппировать в соответствии с приоритетами. Выполнить тесты намного проще, просто поместив фреймворк для выполнения внешнего тестирования или тестирования базы данных.
- Приоритеты могут быть легко установлены путем параметризации данных и использования аннотаций.
7. Geb
Каковы предпосылки?
Идеальный способ использовать JBehave – это интеграция с Eclipse. Для этого, кроме JDK1.7 выше и любой Eclipse IDE выше Indigo, вам понадобится несколько jar-файлов, таких как
JUnit
Кент Бек и Эрих Гамма разработчик JUnit, который является экземпляром xUnit. Основная цель заключалась в том, чтобы позволить разработчикам Java создавать сценарии и выполнять повторяющиеся тесты. Обычно используется для тестирования маленьких кусков кода. Вы также можете выполнить автоматическое тестирование веб-сайта, интегрировав JUnit с Selenium WebDriver для автоматизации тестирования Java. Каждый раз, когда добавляется какой-либо новый фрагмент кода, вам необходимо будет повторно выполнить все контрольные примеры и убедиться в отсутствии поломок.
Каковы предпосылки?
Фреймворк очень совместим с Selenium WebDriver для Java. Причина в том, что JUnit – это фреймворк, основанный на Java, поэтому в качестве некоторых предварительных условий вам потребуется
- Установите последнюю версию JDK на вашей рабочей станции.
- Загрузите последнюю версию JUnit и настройте среду.
- Хорошее знание разработки приложений на объектно-ориентированном языке программирования, особенно на Java.
Необходимые условия для установки TestNG
Для установки TestNG вам понадобится
- Последняя версия JDK установлена в вашей системе.
- Последняя версия Eclipse
- Знание и практический опыт Java или любого другого объектно-ориентированного языка программирования
Наш первый @Test
Создаем объект
- Нам нужен объект, который будет хранить информацию о Пользователе.
- Id — нужно считать по порядку добавления нового пользователя.
- Имя пользователя.
- Его возраст.
- Пол (male/female)
Нужно предусмотреть хранение списка пользователей.
Класс должен уметь.
- Формировать список всех пользователей.
- Формировать список пользователей по полу (MALE/FEMALE).
- Возвращать количество пользователей в общем списке, и посчитать количество по признаку пола пользователя.
- Посчитать общую сумму по возрасту пользователей, так же учесть по признаку пола.
- Посчитать средний возраст, как общий так и по признаку пола.
Возвращать количество пользователей в общем списке, и посчитать количество по признаку пола пользователя.
Посчитать общую сумму по возрасту пользователей, так же учесть по признаку пола. Для этой задачи сделаем методы.
Посчитать средний возраст, как общий так и по признаку пола.
Отлично, требуемый объект и его поведение мы описали. Теперь можно переходить к JUnit, но для начала покажу как примерно будет выглядеть простой тест если мы его будет делать в main.
Нас этот исход не устраивает, долой тесты main, нам нужен JUnit.
xUnit console runner
Первым шагом решаем вопрос (1): “Где взять xunit.console?”:
- в Windows: %userprofile%\.nuget\packages
- на Mac/Linux: ~/.nuget/packages
Благодаря этой переменной окружения, путь к xunit.console больше не зависит от внешних факторов. Следующий шаг довольно прост. Он строит решение (solution), восстанавливая зависимости:
После выполнения этого шага можно подвести промежуточный итог: тесты готовы к запуску. Тестовые сборки со всеми зависимостями находятся в директориях:
- Lib.Tests/bin/Debug/net472
- Lib.Tests/bin/Debug/netcoreapp2.1/publish
Необходимые для запуска тестов утилиты xunit.console соответственно находятся в:
- статистику покрытия кода с передачей параметров, кроссплатформенностью и всеми отчетами
- автоматический запуск xunit.console.dll и _xunit.console.exe _подходящим способом, в зависимости от выбранного окружения (ОС, Docker, и т.д.)
Открытым остался последний вопрос (6): “Как передать результаты тестов TeamCity?”. xunit.console делает это самостоятельно, полагаясь на переменную среды окружения _TEAMCITY_PROJECTNAME, которую агент TeamCity автоматически добавляет ко всем порожденным процессам. xunit.console передает результаты тестов, используя TeamCity service messages.
Хотя все вопросы и решены, но было бы здорово, если бы настройка тестов не занимала столько времени и усилий. В какой-то момент энтузиасты попытались уменьшить количество шагов конфигурации, используя механизм TeamCity Meta-Runner.
dotnet test
Такой подход имеет следующие преимущества:
Он не зависит от фреймворков тестирования: xUnit, NUint и других. Можно использовать и несколько одновременно.
Тесты могут выполняться для всех тестовых сборок решения или нескольких решений, для одного или нескольких проектов.
Поддерживается тестирование в Docker-контейнерах.
Кросс-платформенный сбор статистики покрытия кода.
Мы рекомендуем использовать именно этот подход для тестирования вместе с xUnit и другими тестовыми фреймворками.
10. JWebUnit
- Java API верхнего уровня для навигации по веб-приложению.
- Фреймворк на основе Java с открытым исходным кодом.
- Вам необходимо установить Maven.
- Текущая стабильная версия JWebUnit — 3.3. Требуется Java 1.7.
- Добавьте необходимый вам плагин: HtmlUnit для более быстрых тестов и отличной поддержки Javascript и Webdriver: BETA quality.
- Для управления зависимостями в Eclipse при использовании Maven 2 используйте плагин m2e.
- Используется для тестирования экранной навигации.
- Предоставляет API высшего уровня для навигации по веб-приложениям.
- Простая навигация с легкодоступными утверждениями позволяет создавать тесты быстрее, чем при использовании JUnit или HtmlUnit.
- Если кто-то желает переключиться с HtmlUnit на другие типы плагинов, такие как Selenium, нет необходимости переписывать тесты.
Заключение
Разработчикам жизненно необходимо быть экспертами в области тестирования программного обеспечения и прекрасно разбираться в тестировании. Это то, что отличает опытных Java-разработчиков от новичков. Чтобы приблизиться к совершенству, вам настоятельно рекомендуется изучить 10 лучших фреймворков для тестирования Java, упомянутых выше. Они упростят для вас тестирование приложений. Помимо ознакомления с фреймворками для тестирования Java, вы также должны выбрать правильную платформу автоматизации тестирования
Кратко о том, зачем этот зверь нам нужен? JUnit — это фреймворк автоматического тестирования вашего хорошего или не совсем хорошего кода. Можно сказать: — зачем мне эти качели, я и так смогу легко, и просто протестировать свой хороший Java код. Можно много писать вступительной лирики, но поэт из меня никакой, перейдём лучше к делу…
Каковы предварительные условия для установки Serenity?
Поскольку платформа основана на Java, вам, очевидно, потребуются знания и опыт работы с Java или любым другим объектно-ориентированным языком программирования. Кроме того, на вашей рабочей станции вам понадобится
- JDK 5 или более поздняя версия.
- Maven 3.0 или любая другая версия выше.
- Инструмент IDE – Eclipse обычно предпочитают все разработчики, поскольку с комбинацией Maven и Eclipse легче работать.
Как подключить JUnit к проекту
Возникает вопрос, как его подключить к проекту. Для знающих вариант с Mavenбрать не буду, так как это совсем другая история. ;) Открываем структуру проекта Ctrl + Alt + Shift + S -> Libraries -> жмем + (New Project Library) -> выбираем from Maven дальше видим такое окно, в строку поиска вводим “ junit:junit:4.12 ” ждем пока найдет -> OK! -> OK! Должен получиться такой результат Жмем OK, поздравлю JUnit добавлен к проекту. Едем дальше. Теперь нам нужно создать тесты для нашего Java класса, ставим курсор на название класса User -> жмем Alt + Enter -> выбираем create Test. Мы должны увидеть окно, в котором нам нужно выбрать библиотеку JUnit4 -> выбрать методы которые собираемся тестировать -> OK Идея сама создаст класс UserTest , это и есть класс, в котором мы будем покрывать наш код тестами. Приступим:
Преимущества и недостатки TestNG
Помимо преодоления недостатков старых платформ, есть несколько преимуществ TestNG.
- Инфраструктура позволяет запускать параллельные тесты для нескольких фрагментов кода.
- Во время выполнения тестового примера вы можете создать отчет в формате HTML.
- Тестовые случаи могут быть сгруппированы и расположены в соответствии с приоритетами. Выполнить тесты намного проще, просто попросив инфраструктуру запустить тесты базы данных или интерфейсные тесты или что угодно.
- Вы можете параметризировать данные и использовать аннотации, чтобы легко установить приоритеты.
- Это зависит от вашего требования. Возможно, вы не захотите использовать TestNG, если ваш проект не требует приоритизации тестового набора. Кроме того, настройка TestNG требует немного времени.
Читайте также: