KodeGym/Kursus Jawa/3. modul/Tes pisanan karo JUnit

Tes pisanan karo JUnit

tingkat, wulangan
kasedhiya

Nyambungake kerangka JUnit

Kanggo nguji kode Jawa, kita duwe kerangka kerja sing apik sing diarani JUnit . Kerjane apik, terus-terusan dianyari, iku banget populer lan mesthi Intellij IDEA banget tightly Integrasi karo.

Saiki kabeh wong nggunakake versi kaping lima saka kerangka iki - JUnit 5 , sanajan ing pirang-pirang proyek sampeyan isih bisa nemokake versi kaping papat. Padha ora akeh beda, nanging kita bakal njupuk dipikir ing paling anyar tho. Aku mikir yen sampeyan miwiti nulis tes kanthi aktif, sampeyan bakal nyetujoni pilihanku.

Dadi, kepiye carane nambah JUnit menyang proyek kasebut? Sawise sinau Maven bakal gampang: mung nambah kode iki menyang pom.xml:

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
	<version>5.8.1</version>
	<scope>test</scope>
</dependency>

Miturut cara, yen sampeyan pengin Maven nglakokake tes ing tahap mbangun ( tataran tes ), sampeyan kudu nambah siji fragmen maneh menyang pom.xml:

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
	<version>2.19.1</version>
	<dependencies>
    	<dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-surefire-provider</artifactId>
            <version>1.3.2</version>
    	</dependency>
	</dependencies>
</plugin>

@Tes anotasi

Contone, sampeyan duwe kelas sing pengin dites. Apa cara paling apik kanggo nindakake iki? Ayo dadi miwiti karo sawetara conto, amarga angel kanggo nyoba kelas abstrak :)

Upaminipun kita duwe kelas Kalkulator sing bisa nindakake 4 operasi dhasar: tambahan, subtraction, pingan lan divisi. Ayo ditulis:

class Calculator {
    	public int add(int a, int b) {
        	return a+b;
    	}

    	public int sub(int a, int b) {
        	return a-b;
    	}

    	public int mul (int a, int b) {
        	return a*b;
    	}

    	public int div(int a, int b) {
        	return a/b;
    	}
}

Kita pengin nyoba metode kelas iki. Sampeyan ora ngerti, ing mangsa ngarep dheweke bakal ngganti lan kabeh bakal mandheg. Kepiye carane nulis tes kasebut?

Kita kudu nggawe kelas liyane. Kanggo nindakake iki, padha biasane njupuk jeneng sing padha lan nambah suffix Test . Kanggo saben cara, sampeyan kudu nambah paling ora siji cara tes. Tuladha:

class CalculatorTest {
   	@Test
    	public void add() {
    	}
   	@Test
    	public void sub() {
        }
   	@Test
    	public void mul() {
    	}
   	@Test
    	public void div() {
    	}
}

Biyen ana syarat yen jeneng metode diwiwiti kanthi tembung test , nanging iki ora dibutuhake maneh.

conto tes JUnit

Ayo nulis sawetara conto sing bakal nyoba metode kelas CalculatorTest :

class CalculatorTest {
   	@Test
    	public void add() {
        	Calculator calc = new Calculator();
        	int result = calc.add(2, 3);
        	assertEquals(5, result);
    	}

   	@Test
    	public void sub() {
        	Calculator calc = new Calculator();
        	int result = calc.sub(10, 10);
        	assertEquals(0, result);
        }

   	@Test
    	public void mul() {
        	Calculator calc = new Calculator();
        	int result = calc.mul(-5, -3);
        	assertEquals(15, result);
    	}

   	@Test
    	public void div() {
        	Calculator calc = new Calculator();
        	int result = calc.div(2, 3);
        	assertEquals(0, result);
    	}
}

Iki minangka tes JUnit sing khas. Saka menarik: metode khusus assertEquals () digunakake ing kene : mbandhingake paramèter sing diterusake, kaya sing dituduhake tembung sing padha karo jenenge.

Yen paramèter liwati kanggo assertEquals () ora padha, cara bakal uncalan pangecualian lan test bakal gagal. Pangecualian iki ora bakal nyegah tes liyane saka mlaku.

Komentar
  • Popular
  • Anyar
  • lawas
Sampeyan kudu mlebu kanggo ninggalake komentar
Kaca iki durung duwe komentar