JUnit Assert if a property exists in a class
By:Roy.LiuLast updated:2019-08-17
Includes hamcrest-library and test the class property and its value with hasProperty() :
P.S Tested with JUnit 4.12 and hamcrest-library 1.3
ClassPropertyTest.java
package com.mkyong; import org.junit.Test; import java.util.Arrays; import java.util.List; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.hasProperty; import static org.junit.Assert.assertThat; public class ClassPropertyTest { //Single Object @Test public void testClassProperty() { Book obj = new Book("Mkyong in Action"); assertThat(obj, hasProperty("name")); assertThat(obj, hasProperty("name", is("Mkyong in Action"))); // List Objects @Test public void testClassPropertyInList() { List<Book> list = Arrays.asList( new Book("Java in Action"), new Book("Spring in Action") ); assertThat(list, containsInAnyOrder( hasProperty("name", is("Spring in Action")), hasProperty("name", is("Java in Action")) )); public class Book { public Book(String name) { this.name = name; private String name; public String getName() { return name; public void setName(String name) { this.name = name;
Here’s the Maven pom file to include the hamcrest-library
pom.xml
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> </exclusion> </exclusions> </dependency> <!-- This will get hamcrest-core automatically --> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> <version>1.3</version> <scope>test</scope> </dependency> </dependencies>
References
From:一号门
Previous:JUnit Categories Test
COMMENTS