theme | background | class | highlighter | lineNumbers | info | drawings | transition | css | |
---|---|---|---|---|---|---|---|---|---|
default |
/assets/images/cat.jpeg |
text-center |
shiki |
true |
## audrey's slidev template
github: https://github.com/audreycj
|
|
slide-left |
unocss |
by Audrey Nanual
- a collection of reusable code that provides functionality to support unit testing, such as assertion methods, mock objects, or test data generators
- e.g. JUnit 5, Mockito, SpringFramework Testing, Spring Boot Testing, Selenide
- a set of conventions and rules that define how tests are written, organized, and executed
- e.g. AssertJ, Data Faker, Easy Random, Easy Random JUnit Extension, ModelAssert,
- a software application that helps developers automate and manage the process of testing software
- e.g. JUnit Pioneer, Database Rider, TestContainers, Instancio, JetBrains Aqua
- JUnit 5
- JUnit Pioneer
- AssertJ
- Data Faker
- Mockito
- Easy Random
- Easy Random JUnit Extension
- Database Rider
- ModelAssert
- SpringFramework Testing
- Spring Boot Testing
- TestContainers
- Instancio
- Selenide
- JetBrains Aqua
“Powerful and flexible Java testing framework”
Latest version of the popular Java testing framework, JUnit.
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>Provides a range of new features and enhancements to help developers write more efficient, effective, and maintainable tests.
- Modular and extensible architecture
- New programming model (i.e., @Nested, @ParameterizedTest, @DynamicTest)
- Improved exception handling
- Test templates
- Parallel test execution
- Improved reporting
“Making JUnit 5 testing simpler and more accessible”
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>An open-source testing tool that extends JUnit 5 to provide additional testing features.
- Enhanced test reporting
- Improved parameterized tests
- Test fixtures with constructor injection
- Enhanced test data management
- Test isolation with separate class loaders
“Readable and comprehensive assertions for Java”
A fluent assertions library for Java that provides a more
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>readable and comprehensive way of writing assertions in unit tests.
- Fluent interface —— ❌ assertTrue(x > 0) | ✅ assertThat(x).isGreaterThan(0)
- Type-specific assertions (i.e., collections, strings, dates, and exceptions)
- Chained assertions
assertThat(str)
.startsWith("JUnit")
.endsWith("framework")
.contains("unit testing");
-
Soft assertions
-
Custom error messages
“Realistic data generation made easy”
A Java library that generates realistic and randomized test data for a wide range of data types,
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>allowing developers to quickly and easily populate their unit tests with diverse and comprehensive test data.
- Wide variety of data types
- Localization support
- Customization
- Easy integration
- High-quality data
“Mocking framework for unit testing in Java”
A Java mocking framework that allows developers to create mock objects, stub method behavior,
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>and verify the interactions between objects in unit tests.
- Simple and intuitive syntax
- Stubbing
- Verification
- Spying
- Argument matching (i.e., exact matches, wildcard matches, and argument capture)
- Annotation support (i.e., @Mock, @InjectMocks)
- Ability to mock final classes and methods
“Flexible test data generation”
A Java library that simplifies the process of generating randomized test data,
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>making it easier to write comprehensive and efficient tests.
- Fluent interface
- Customizable
- Supports complex object generation
- Supports a wide range of data types
- Automatic configuration
- Easy integration
- Provide randomness control
“Seamless test data generation”
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>An extension to the Easy Random library that integrates with JUnit 5 to generate random test data.
- @EasyRandom
- @WithEasyRandom
- @EasyRandomResource
- @Randomizer
- @Random
- @RandomBean
“Database testing made easy”
A testing tool that provides support for testing database-related functionality in Java applications,
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>allowing developers to create and manage test data and execute tests in an automated and repeatable manner.
- Supports multiple database types
- Supports data-driven testing
- Provides fluent API for database operations
- Integration with JUnit and TestNG
- Supports transaction management
- Supports assertions on database state
“Model-based testing”
A Java testing library that allows developers to define models for objects and collections,
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>and then use these models to assert that the state and behavior of objects and collections conform to expected models.
- Model-based testing with graphs
- Domain-specific assertions
- Value object testing
- Flexible model definition
- Data-driven testing
- Lightweight and easy to use
“Simplified testing of Spring applications”
Provides support for testing Spring-based applications, including unit testing, integration testing,
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>and end-to-end testing, using a variety of testing frameworks and tools.
- Integration testing
- Mock objects
- Dependency injection
- Annotations (i.e., @RunWith, @ContextConfiguration, and @Autowired)
- Flexible configuration
- Test templates
“Testing made easy for Spring Boot”
A module of the Spring Boot framework that provides support for testing Spring Boot applications,
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>including unit testing, integration testing, and end-to-end testing.
- Auto-configuration
- Mocking and testing
- Integration testing
- Test annotations (i.e., @SpringBootTest, @MockBean)
- Test utilities (i.e., TestRestTemplate class)
- Test slices (i.e., @WebMvcTest, @DataJpaTest )
“Containerized testing made simple”
A Java testing library that allows developers to easily create and manage disposable test containers,
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>such as databases, for their unit and integration tests.
- Containerization
- Wide range of supported containers (i.e., MySQL, PostgreSQL, Oracle, RabbitMQ, Apache Kafka)
- Automated container management
- Dependency management
- Simple API
- Compatibility with existing testing frameworks
“Dynamic test data generation library”
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>A library for instantiating and populating objects with random data, making your tests more dynamic
- Reduces manual data setup in unit tests
- Non-intrusive and concise API
- Allows customization of generated objects
- Requires no changes to production code
- Can be used out-of-the-box with zero config
"Java UI testing made easy."
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>A concise and easy-to-use Java-based UI automation testing framework that leverages the Selenium WebDriver library.
- Concise and readable syntax
- Automatic waits
- Screenshots on failures
- Support for multiple browsers
- Page Object Model (POM) support
- Fluent API
- Automatic handling of iframes
- Advanced assertions
"A powerful new IDE for test automation"
<style> blockquote { code { @apply text-teal-500 dark:text-teal-400; } } </style>- Intelligent coding assistance
- Unit test frameworks
- UI automation (i.e., New Project wizard, Code Insight, Page Object Templates)
- Web inspector
- API testing and environment setup (i.e., HTTP, Docker)
- Database
- Test management systems (TMS)
- JUnit 5 — A popular unit testing framework for Java.
- JUnit Pioneer — An open-source testing tool that extends JUnit 5 to provide additional testing features.
- AssertJ — A library that provides fluent assertions for Java.
- Data Faker — A library that generates random data for testing purposes.
- Mockito — A mocking framework for Java that allows you to create mock objects for testing.
- Easy Random — A library that generates random data for testing purposes.
- Easy Random JUnit Extension — An extension to the Easy Random library that integrates with JUnit 5 to generate random test data.
- Database Rider — A testing tool that provides a convenient way to manage and populate database instances for testing purposes.
- ModelAssert — A library that provides fluent assertions for testing object models.
- SpringFramework Testing — A testing framework that provides support for testing Spring-based applications.
- Spring Boot Testing — A testing framework that provides support for testing Spring Boot applications.
- TestContainers — A testing tool that allows you to easily run applications in containers for testing purposes.
- Instancio — A testing tool that generates test data by analyzing the source code of the classes being tested.
- Selenide — A testing framework that provides a concise API for writing UI tests using Selenium WebDriver.
- JetBrains Aqua — A testing tool (IDE) for test automation