1. Обзор
В этом руководстве мы рассмотрим библиотеку AssertJ , особенно определение и использование условий для создания удобочитаемых и поддерживаемых тестов.
Основы AssertJ можно найти здесь .
В этом руководстве мы рассмотрим библиотеку AssertJ , особенно определение и использование условий для создания удобочитаемых и поддерживаемых тестов.
Основы AssertJ можно найти здесь .
В этом руководстве мы рассмотрим создание пользовательских утверждений AssertJ ; основы AssertJ можно найти здесь.
Проще говоря, пользовательские утверждения позволяют создавать утверждения, характерные для наших собственных классов, что позволяет нашим тестам лучше отражать модель предметной области.
В этом кратком руководстве мы узнаем, как использовать лямбда-выражения Java 8 с Cucumber.
Во-первых, нам нужно добавить следующую зависимость в наш pom.xml
:
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java8</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
Cucumber — это среда тестирования BDD (Behavioral Driven Development).
Использование фреймворка для написания повторяющихся сценариев с различными перестановками входных/выходных данных может занять довольно много времени, быть сложным в обслуживании и, конечно, разочаровывающим.
Cucumber предлагает решение, позволяющее сократить эти усилия, используя концепцию Scenario Outline в сочетании с Examples
. В следующем разделе мы попытаемся рассмотреть пример и посмотреть, как мы можем свести к минимуму эти усилия.
Если вы хотите узнать больше о подходе и языке Gherkin, взгляните на эту статью .
Truth
— это плавная и гибкая среда тестирования с открытым исходным кодом, предназначенная для того, чтобы сделать тестовые утверждения и сообщения об ошибках более читабельными.
В этой статье мы рассмотрим ключевые особенности платформы Truth
и реализуем примеры, чтобы продемонстрировать ее возможности.
Во- первых, нам нужно добавить правда
и правда-java8-расширение
в наш pom.xml:
В этой статье мы рассмотрим AssertJ — управляемую сообществом библиотеку с открытым исходным кодом, используемую для написания плавных и насыщенных утверждений в тестах Java.
Эта статья посвящена инструментам, доступным в базовом модуле AssertJ под названием AssertJ-core .
В этом кратком руководстве мы проиллюстрируем разницу между Collections.emptyList()
и новым экземпляром списка.
Основное различие между java.util.Collections.emptyList()
и новым списком, например, new ArrayList<>()
, заключается в неизменности.
Collections.emptyList()
возвращает список ( java.util.Collections.EmptyList
), который нельзя изменить.
Эта статья посвящена динамическим прокси-серверам Java — одному из основных механизмов прокси-серверов, доступных нам в этом языке.
Проще говоря, прокси — это фронты или обертки, которые передают вызов функции через свои собственные средства (обычно на реальные методы) — потенциально добавляя некоторую функциональность.
Динамические прокси позволяют одному классу с одним единственным методом обслуживать несколько вызовов методов к произвольным классам с произвольным количеством методов. Динамический прокси можно рассматривать как своего рода Фасад
, но такой, который может претендовать на реализацию любого интерфейса. Под прикрытием он направляет все вызовы методов одному обработчику — методу invoke()
.
Хотя это не инструмент, предназначенный для повседневных задач программирования, динамические прокси могут быть весьма полезны для разработчиков фреймворков. Его также можно использовать в тех случаях, когда конкретная реализация класса не будет известна до времени выполнения.
Эта функция встроена в стандартный JDK, поэтому никаких дополнительных зависимостей не требуется.
В этом руководстве мы узнаем, как создать список, содержащий примитивные целочисленные значения .
Мы рассмотрим решения, использующие ядро Java и внешние библиотеки.
В Java аргументы универсального типа должны быть ссылочными типами. Это означает, что мы не можем сделать что-то вроде List<int>
.
В Java 8 была добавлена поддержка отражения параметров метода. Проще говоря, она обеспечивает поддержку получения имен параметров во время выполнения.
В этом кратком руководстве мы рассмотрим, как получить доступ к именам параметров для конструкторов и методов во время выполнения с помощью отражения.
Чтобы иметь возможность получить доступ к информации об имени метода, мы должны явно согласиться.