Pengantar JUnit

Pengantar Pengujian di Java

Maria Milusheva

Senior Software Engineer

Fakta singkat

  • JUnit adalah pustaka pengujian Java paling populer
  • Dikelola dengan baik dan terus diperbarui

Gambar logo JUnit 5.

Pengantar Pengujian di Java

Menulis tes JUnit

Mari menulis tes untuk metode addTwoNumbers():

public int addTwoNumbers(int a, int b) {
    return a + b;
}
Pengantar Pengujian di Java

Anotasi JUnit @Test

  • Pasang JUnit via IDE atau build tools (contoh pada sitasi)

  • Setiap tes harus punya anotasi @Test:

import org.junit.jupiter.api.Test;

@Test 
// Metode tes di sini

Anotasi - metadata khusus yang menunjukkan bagaimana metode diproses oleh compiler dan framework. Anotasi diawali @

1 https://www.jetbrains.com/help/idea/junit.html
Pengantar Pengujian di Java

Struktur tes JUnit

import org.junit.jupiter.api.Test;

@Test 

void testAddTwoNumbers() {
// Arrange - Given int num1 = 2; int num2 = 2;
// Act - When int actual = addTwoNumbers(num1, num2);
// Assert - Then assertEquals(4, actual); }
Pengantar Pengujian di Java

Pernyataan assert

  • Cara cepat membandingkan hasil aktual dengan ekspektasi
  • Jika tidak cocok, tes gagal
  • Membantu cepat menangkap bug dan error

Grafik yang merepresentasikan pernyataan assert

Pengantar Pengujian di Java

Hasil tes

Perhatikan assert berikut:

assertEquals(4, actual); // Berhasil jika actual == 4

Jika berhasil, akan muncul pesan Test passed

Jika nilainya tidak sama, mis. actual = 5:

org.opentest4j.AssertionFailedError: expected: <4> but was: <5>

Ingat urutan argumen! Argumen pertama adalah nilai ekspektasi di JUnit.

Pengantar Pengujian di Java

Tes tambahan untuk overflow

@Test 

void testAddTwoNumbers() { // Given int num1 = 2147483647; int num2 = 1; // When int actual = addTwoNumbers(num1, num2); // Then assertEquals(-2147483648, actual); }
Pengantar Pengujian di Java

Catatan tentang JUnit dan pengujian

  • Satu tes bisa punya banyak assert
  • Semua assert harus berhasil agar tes lulus
  • Kita dapat mengimpor semua assert dengan:
import org.junit.jupiter.api.Assertions.*;
Pengantar Pengujian di Java

Catatan lanjutan

  • Berikut adalah alat khusus DataCamp, tidak diperlukan di IDE:
import static com.datacamp.util.testing.CustomJUnitTestLauncher.launchTestsAndPrint;
  • import static package.Class.method memungkinkan memakai method langsung sebagai method, tanpa menulis package.Class.method
import static java.lang.Math.max;

...

max(3,5); // Alih-alih Math.max(3, 5)
Pengantar Pengujian di Java

Ayo berlatih!

Pengantar Pengujian di Java

Preparing Video For Download...