Şu satırı dahil ederiz
import static org.assertj.core.api.Assertions.*;
Açıklaması şöyle. Yani spring-boot-starter-test ile bazı kütüphaneler de otomatik olarak geliyor.
If you use the spring-boot-starter-test ‘Starter’ (in the test scope), you will find the following provided libraries:JUnit — The de-facto standard for unit testing Java applications.Spring Test & Spring Boot Test — Utilities and integration test support for Spring Boot applications.AssertJ — A fluent assertion library.Hamcrest — A library of matcher objects (also known as constraints or predicates).Mockito — A Java mocking framework.JSONassert — An assertion library for JSON.JsonPath — XPath for JSON.
AssertJ bir test framework değil. JUnit içindeki testlere daha kolay assert cümleleri yazmak için. Belki aynı assert cümlelerini JUnit ile de yazmak mümkün, ancak AssertJ ile daha kolay ve kısa. Genel kullanım şuna benzer
assertThat(object1).isEqualTo(object2)
isEqualTo(), isNotNull(), isNull() en çok kullanılan metodlar
as metodu
Eğer assertion başarısız olursa, verilecek hata mesajını belirtir.
Örnek
Şöyle yaparız
@Testpublic void testEqual() {Object object1 = new Object();Object object2 = object1;Object object3 = new Object();// failing assertion, with custom error messageassertThat(object1).as("Checking whether objects are the same").isEqualTo(object3);}
containsOnly metodu
Bir collection içinde sadece belirtilen elemanların olduğunu kontrol eder.
Örnek
Şöyle yaparız
@Testpublic void testTolkienCharacterArrayList() {ArrayList<TolkienCharacter> characters = ......TolkienCharacter aragorn = new TolkienCharacter("Aragorn", 62);TolkienCharacter frodo = new TolkienCharacter("Frodo", 32);assertThat(characters).filteredOn(character -> character.name.contains("o")).containsOnly(aragorn, frodo);}
isNotNull metodu
assertThat(..) içine verilen nesnenin null olmadığını kontrol eder
Örnek
Şöyle yaparız
@SpringBootTestpublic class PaymentServiceTest {@Autowiredprivate RestTemplate restTemplate;@Testpublic void shouldProcessPaymentForValidOrder() {var validOrder = Order.withCustomerId(123).withItems(Item.withId("af12da"));var response = restTemplate.postForEntity("/payment", validOrder);assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);assertThat(response.getBody().getPaymentTransactionId()).isNotNull();}}
isNull metodu
assertThat(..) içine verilen nesnenin null olduğunu kontrol eder
Örnek
Şöyle yaparız
@SpringBootTestpublic class PaymentServiceTest {@Autowiredprivate RestTemplate restTemplate;@Testpublic void shouldRejectPaymentForOrderWithMissingCustomer() {var validOrder = Order.withItems(Item.withId("af12da"));var response = restTemplate.postForEntity("/payment", validOrder);assertThat(response.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST);assertThat(response.getBody().getPaymentTransactionId()).isNull();}}
Hiç yorum yok:
Yorum Gönder