Рубрики
Без рубрики

JUnit – Утверждать, существует ли свойство в классе

– JUnit – Утверждать, существует ли свойство в классе

Включает hamcrest-библиотеку и проверяет свойство класса и его значение с помощью hasProperty() :

P.S Протестировано с JUnit 4.12 и hamcrest-библиотекой 1.3

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 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;
        }
    }
}

Вот файл Maven pom для включения hamcrest-библиотеки

	
		
			junit
			junit
			4.12
			test
			
				
					org.hamcrest
					hamcrest-core
				
			
		
		
		
			org.hamcrest
			hamcrest-library
			1.3
			test
		
	

Рекомендации

  1. Хамкрест – имеет собственность javadoc
  2. Мавен + Джунит + Хамкрест
  3. JUnit – Как протестировать список

Оригинал: “https://mkyong.com/unittest/junit-assert-if-a-property-exists-in-a-class/”