Тестирование компонентов

Apache Groovy

org.apache.groovy : groovy-testng

Groovy: A powerful multi-faceted language for the JVM

Последняя версия: 4.0.3

Дата:

Последняя версия: 2.0.27

Дата:

org-netbeans-modules-testng-ui

org.netbeans.modules : org-netbeans-modules-testng-ui

Apache NetBeans is an integrated development environment, tooling platform, and application framework.

Последняя версия: RELEASE140

Дата:

Последняя версия: 5.0.4

Дата:

Последняя версия: 2.7.3

Дата:

PowerMock

org.powermock : powermock-module-testng-agent

PowerMock module for TestNG with using Javaagent.

Последняя версия: 2.0.9

Дата:

Последняя версия: 0.0.114

Дата:

Последняя версия: 4.0.0-M2

Дата:

Последняя версия: 4.0.0-M3

Дата:

org-netbeans-modules-testng-maven

org.netbeans.modules : org-netbeans-modules-testng-maven

Apache NetBeans is an integrated development environment, tooling platform, and application framework.

Последняя версия: RELEASE140

Дата:

PaxmlTestNG

org.paxml : paxml-testng

Paxml - Process Automation eXtensible Markup Language

Последняя версия: 2.0.2

Дата:

Последняя версия: 356

Дата:

TestNG Metrics

com.github.adiralashiva8 : testng-metrics

A HTML Report of test executions via TestNG

Последняя версия: 1.6

Дата:

integration-test-testng

io.toolisticon.cute : integration-test-testng

Please refer to https://github.com/toolisticon/cute

Последняя версия: 0.12.0

Дата:

Последняя версия: 1.0.43

Дата:

Maven Test Support :: Maven Verifier for TestNG

de.lightful.maven.testing : maven-verifier-testng

TestNG wrapper around maven-verifier, supporting integrational tests of maven plugins.

Последняя версия: 0.2.0

Дата:

org-netbeans-modules-testng-ant

org.netbeans.modules : org-netbeans-modules-testng-ant

Apache NetBeans is an integrated development environment, tooling platform, and application framework.

Последняя версия: RELEASE140

Дата:

test-testng

com.fitbur.test : test-testng

FitburIO Framework is an open source Java framework that utilizes HK2 dependency injection framework to create resuable components. The framework's core features can be used by any Java application though it's more ideal to use it in-conjunction with Jersey 2.0 JAX-RS to build restful services.

Последняя версия: 0.5.0

Дата:

Последняя версия: 1.5.0.0

Дата:

Последняя версия: 4.0.0-M3

Дата:

com.automation.remarks.video-recorder

com.automation-remarks : video-recorder-testng

Video Recorder is a library that allows to record selenium tests

Последняя версия: 2.0

Дата:

cucumber-testng-factory

com.theoryinpractise : cucumber-testng-factory

TestNG Integration for the Cucumeber-JVM Testing Framework

Последняя версия: 1.0.1

Дата:

Последняя версия: 4.0.0-M3

Дата:

Unitils TestNG classes

org.unitils : unitils-testng

Unitils provides utilities to further simplify unit-testing with JUnit, DBUnit, EasyMock Hibernate and Spring. The goal is to make unit-testing easy and maintainable by offering utilities such as automatic DB-schema maintainance and equality assertion through reflection.

Последняя версия: 3.4.6

Дата:

Последняя версия: 2.0

Дата:

Последняя версия: 0.1.25

Дата:

PaxmlTestNG

org.paxml : PaxmlTestNG

Paxml - Process Automation eXtensible Markup Language

Последняя версия: 1.0

Дата:

Specnaz

org.specnaz : specnaz-testng

Library for writing beautiful, RSpec/Jasmine/Mocha/Jest-style specifications in Java, Kotlin and Groovy

Последняя версия: 1.5.3

Дата:

mockspresso-easymock-powermock

com.episode6.hackit.mockspresso : mockspresso-easymock-powermock

An extensible auto-mocker for java, designed to simplify your unit tests.

Последняя версия: 0.1.0

Дата:

powermock-easymock-single-jar-release-full

org.powermock : powermock-easymock-release-full

Single jar containing binaries for PowerMock core, EasyMock and all test framework modules.

Последняя версия: 1.6.4

Дата:

Последняя версия: 1.0.8

Дата:

quickstart-seleniumrc-junit

com.saucelabs : quickstart-seleniumrc-junit

Collection of Java helper libraries for Sauce Labs

Последняя версия: 2.1.25

Дата:

JUnit AutoCloseable Rule

com.lexicalscope.junit : junit-autocloseable

Sonatype helps open source projects to set up Maven repositories on https://oss.sonatype.org/

Последняя версия: 1.0

Дата:

embedded-influx-junit4

com.bendb.influx : embedded-influx-junit4

JUnit 4 support for embedded InfluxDB

Последняя версия: 0.2.0

Дата:

test-suite-junit4

eu.benschroeder : test-suite-junit4

Opinionated test-suite for writing tests with JUnit 4

Последняя версия: 0.8

Дата:

Последняя версия: 1.10.1

Дата:

Последняя версия: 1.0.0-M10

Дата:

Hoverfly Java JUnit5

io.specto : hoverfly-java-junit5

JUnit 5 extension for Hoverfly-Java

Последняя версия: 0.14.2

Дата:

Последняя версия: 1.6.6

Дата:

Последняя версия: 7.1.1

Дата:

Последняя версия: 1.0.0-SNAP4

Дата:

junit-selenium

de.tobj.junit : junit-selenium

base class for selenium tests

Последняя версия: 0.1.3

Дата:

assertj-jaxts-junit-jupiter

com.github.attiand : assertj-jaxts-junit-jupiter

Provides assertj assertions to jaxrs responses

Последняя версия: 1.0.1

Дата:

junit

org.avaje.composite : junit

Packaging parent for Avaje OSS projects.

Последняя версия: 5.1

Дата:

Последняя версия: 1.6.0-BETA2

Дата:

pact-jvm-consumer-junit5_2.12

au.com.dius : pact-jvm-consumer-junit5_2.12

pact-jvm-consumer-junit5 ======================== JUnit 5 support for Pact consumer tests ## Dependency The library is available on maven central using: * group-id = `au.com.dius` * artifact-id = `pact-jvm-consumer-junit5_2.12` * version-id = `3.6.x` ## Usage ### 1. Add the Pact consumer test extension to the test class. To write Pact consumer tests with JUnit 5, you need to add `@ExtendWith(PactConsumerTestExt)` to your test class. This replaces the `PactRunner` used for JUnit 4 tests. The rest of the test follows a similar pattern as for JUnit 4 tests. ```java @ExtendWith(PactConsumerTestExt.class) class ExampleJavaConsumerPactTest { ``` ### 2. create a method annotated with `@Pact` that returns the interactions for the test For each test (as with JUnit 4), you need to define a method annotated with the `@Pact` annotation that returns the interactions for the test. ```java @Pact(provider="ArticlesProvider", consumer="test_consumer") public RequestResponsePact createPact(PactDslWithProvider builder) { return builder .given("test state") .uponReceiving("ExampleJavaConsumerPactTest test interaction") .path("/articles.json") .method("GET") .willRespondWith() .status(200) .body("{\"responsetest\": true}") .toPact(); } ``` ### 3. Link the mock server with the interactions for the test with `@PactTestFor` Then the final step is to use the `@PactTestFor` annotation to tell the Pact extension how to setup the Pact test. You can either put this annotation on the test class, or on the test method. For examples see [ArticlesTest](src/test/java/au/com/dius/pact/consumer/junit5/ArticlesTest.java) and [MultiTest](src/test/groovy/au/com/dius/pact/consumer/junit5/MultiTest.groovy). The `@PactTestFor` annotation allows you to control the mock server in the same way as the JUnit 4 `PactProviderRule`. It allows you to set the hostname to bind to (default is `localhost`) and the port (default is to use a random port). You can also set the Pact specification version to use (default is V3). ```java @ExtendWith(PactConsumerTestExt.class) @PactTestFor(providerName = "ArticlesProvider") public class ExampleJavaConsumerPactTest { ``` **NOTE on the hostname**: The mock server runs in the same JVM as the test, so the only valid values for hostname are: | hostname | result | | -------- | ------ | | `localhost` | binds to the address that localhost points to (normally the loopback adapter) | | `127.0.0.1` or `::1` | binds to the loopback adapter | | host name | binds to the default interface that the host machines DNS name resolves to | | `0.0.0.0` or `::` | binds to the all interfaces on the host machine | #### Matching the interactions by provider name If you set the `providerName` on the `@PactTestFor` annotation, then the first method with a `@Pact` annotation with the same provider name will be used. See [ArticlesTest](src/test/java/au/com/dius/pact/consumer/junit5/ArticlesTest.java) for an example. #### Matching the interactions by method name If you set the `pactMethod` on the `@PactTestFor` annotation, then the method with the provided name will be used (it still needs a `@Pact` annotation). See [MultiTest](src/test/groovy/au/com/dius/pact/consumer/junit5/MultiTest.groovy) for an example. ### Injecting the mock server into the test You can get the mock server injected into the test method by adding a `MockServer` parameter to the test method. ```java @Test void test(MockServer mockServer) throws IOException { HttpResponse httpResponse = Request.Get(mockServer.getUrl() + "/articles.json").execute().returnResponse(); assertThat(httpResponse.getStatusLine().getStatusCode(), is(equalTo(200))); } ``` This helps with getting the base URL of the mock server, especially when a random port is used. ## Changing the directory pact files are written to By default, pact files are written to `target/pacts` (or `build/pacts` if you use Gradle), but this can be overwritten with the `pact.rootDir` system property. This property needs to be set on the test JVM as most build tools will fork a new JVM to run the tests. For Gradle, add this to your build.gradle: ```groovy test { systemProperties['pact.rootDir'] = "$buildDir/custom-pacts-directory" } ``` For maven, use the systemPropertyVariables configuration: ```xml <project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18</version> <configuration> <systemPropertyVariables> <pact.rootDir>some/other/directory</pact.rootDir> <buildDirectory>${project.basedir}/target</buildDirectory> [...] </systemPropertyVariables> </configuration> </plugin> </plugins> </build> [...] </project> ``` For SBT: ```scala fork in Test := true, javaOptions in Test := Seq("-Dpact.rootDir=some/other/directory") ``` ### Using `@PactFolder` annotation [3.6.2+] You can override the directory the pacts are written in a test by adding the `@PactFolder` annotation to the test class. ## Forcing pact files to be overwritten (3.6.5+) By default, when the pact file is written, it will be merged with any existing pact file. To force the file to be overwritten, set the Java system property `pact.writer.overwrite` to `true`. ## Unsupported The current implementation does not support tests with multiple providers. This will be added in a later release. # Having values injected from provider state callbacks (3.6.11+) You can have values from the provider state callbacks be injected into most places (paths, query parameters, headers, bodies, etc.). This works by using the V3 spec generators with provider state callbacks that return values. One example of where this would be useful is API calls that require an ID which would be auto-generated by the database on the provider side, so there is no way to know what the ID would be beforehand. The following DSL methods all you to set an expression that will be parsed with the values returned from the provider states: For JSON bodies, use `valueFromProviderState`.<br/> For headers, use `headerFromProviderState`.<br/> For query parameters, use `queryParameterFromProviderState`.<br/> For paths, use `pathFromProviderState`. For example, assume that an API call is made to get the details of a user by ID. A provider state can be defined that specifies that the user must be exist, but the ID will be created when the user is created. So we can then define an expression for the path where the ID will be replaced with the value returned from the provider state callback. ```java .pathFromProviderState("/api/users/au.com.dius:pact-jvm-consumer-junit5_2.12:jar:3.6.15", "/api/users/100") ``` You can also just use the key instead of an expression: ```java .valueFromProviderState('userId', 'userId', 100) // will look value using userId as the key ```

Последняя версия: 3.6.15

Дата:

Последняя версия: 5.3.2

Дата:

schemaregistry-junit

io.github.data-rocks-team : schemaregistry-junit4

A library that provides an in-memory instance of Confluent Schema Registry to run your tests against.

Последняя версия: 0.1.1

Дата: