Using Core
Installing
To install Diferencia Java JUnit you need to add JUnit 4
and Diferencia JUnit
dependencies on your build tool.
For now Diferencia is released in jcenter
but in near future will be released in Maven central as well.
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>bintray</name>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
Maven
<dependency>
<groupId>com.lordofthejars.diferencia</groupId>
<artifactId>diferencia-java-junit</artifactId>
<version>${version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
Code Example
The JUnit Rule
class to be used is com.lordofthejars.diferencia.junit.DiferenciaRule
which is the one responsible for managing the lifecycle of Diferencia and provides methods to get Diferencia clients.
@ClassRule (1)
public static DiferenciaRule diferenciaRule =
new DiferenciaRule("http://now.httpbin.org/",
"http://now.httpbin.org/"); (2)
@Test
public void should_use_diferencia_to_detect_any_possible_regression()
throws IOException {
final String diferenciaUrl = diferenciaRule.getDiferenciaUrl(); (3)
final Response response = sendRequest(diferenciaUrl, "/");
assertThat(response.code()).isEqualTo(HTTP_PRECON_FAILED); (4)
}
1 | ClassRule for better performance. |
2 | Defines and configures Diferencia. You can also use DiferenciaConfiguration object as parameter. |
3 | Gets URL to send requests. |
4 | In this case both responses are different so they should fail. |
About sending requests
In this case it is using OkHttp to send to the Diferencia proxy a Of course you can use any other HttpClient to validate the compatibility such as REST-assured. |