JavaRush /Blog Jawa /Random-JV /JUnit bagean I

JUnit bagean I

Diterbitake ing grup

JUnit :: utawa carane tresna marang validator JavaRush

JUnit bagean I - 1Sedhela babagan kenapa kita butuh kewan iki? JUnit minangka kerangka kanggo nguji kanthi otomatis kode sing apik utawa ora apik . Sampeyan bisa ngomong: - kok aku kudu swing iki, Aku bisa gampang lan mung nyoba kode Jawa sandi apik. Sampeyan bisa nulis akeh lirik pambuko, nanging aku ora akeh pujangga, ayo mudhun menyang bisnis ...

Nggawe obyek

Dadi, kanggo nyoba soko, kita kudu obyek tes. Kita duwe tugas ing ngarep.
  1. Kita butuh obyek sing bakal nyimpen informasi babagan pangguna.
    1. Id - kudu diitung miturut urutan pangguna anyar ditambahake.
    2. Jeneng panganggo.
    3. Umure.
    4. Jenis Kelamin (lanang/wadon)
  2. Sampeyan perlu kanggo nyedhiyani panyimpenan saka dhaptar pangguna.

  3. Kelas kudu bisa.

    1. Gawe dhaptar kabeh pangguna.
    2. Gawe dhaptar pangguna miturut jinis kelamin (MALE/WANITA).
    3. Wangsulake jumlah pangguna ing dhaptar umum, lan etung nomer adhedhasar jinis pangguna.
    4. Etung jumlah total miturut umur pangguna, lan uga nimbang jender.
    5. Hitung umur rata-rata, sakabèhé lan miturut jender.
Dadi, ayo miwiti nggawe obyek ... Ayo nggawe kelas Java Usersing bakal ngemot kolom:
private int id;
private String name;
private int age;
private Sex sex;
Iki cukup kanggo nyimpen data pangguna, ayo ndeleng apa sing dibutuhake kanggo tugas kasebut. Kita kudu nyimpen kabeh pangguna, ayo nggawe lapangan statis ing kelas kita allUsers, aku ora apa-apa yenMap<Integer, User>
private static Map<Integer, User> allUsers;
Kita uga kudu nemtokake nomer urutan kanggo pangguna, ayo nggawe lapangan counter statis, sing, nalika nggawe pangguna anyar, bakal menehi nomer urutan Id kanggo pangguna.
private static int countId = 0;
Dadi, kita koyone wis ngurutake lapangan, ayo nulis konstruktor kanggo obyek kita, lan getter kanggo lapangan id, name, age, sex. Ora ana sing rumit karo heterae, ayo njaluk bantuan IDEA , dheweke ora bakal nolak, lan kita bakal nggawe konstruktor rada angel. Desainer bakal bisa. Miwiti lapangan, priksa manawa ana obyek kasebut ing allUsers, yen ora ana obyek kasebut, banjur tambahake counter countId++lan tambahake menyang dhaptar kabeh pangguna. Lan uga miwiti lapangan allUsers yen durung diinisialisasi. Kanggo penak nggoleki obyek sing padha, kita bakal nemtokake maneh metode equals()lan hashCode(), maneh bakal njaluk bantuan saka IDEA sing ditresnani lan mbandhingake kanthi lapangan name, age, sex. Kajaba iku, ayo nggawe metode pribadi hasUser()sing bakal mriksa manawa obyek kasebut ana ing dhaptar.
@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    User user = (User) o;
    return age == user.age &&
            Objects.equals(name, user.name) &&
            sex == user.sex;
}

@Override
public int hashCode() {

    return Objects.hash(name, age, sex);
}
Ing pungkasan, aku rampung karo desainer kaya iki.
public User(String name, int age, Sex sex) {
    if (allUsers == null){
        allUsers = new HashMap<>();
    }

    this.name = name;
    this.age = age;
    this.sex = sex;

    if (!hasUser()){
        countId++;
        this.id = countId;
        allUsers.put(id, this);
    }
}
lan metode pembantu pribadi
private boolean hasUser(){
    for (User user : allUsers.values()){
        if (user.equals(this) && user.hashCode() == this.hashCode()){
            return true;
        }
    }
    return false;
}
lan uga redefinetoString()
@Override
public String toString() {
    return "User{" +
            "id=" + id +
            ", name='" + name + '\'' +
            ", age=" + age +
            ", sex=" + sex +
            '}';
}
Saiki wektune kanggo ngetrapake logika metode sing dibutuhake. Amarga logika utamane bisa digunakake karo kolom statis, kita uga bakal nggawe metode statis; ora dibutuhake kanggo obyek.
  1. Gawe dhaptar kabeh pangguna.
  2. Gawe dhaptar pangguna miturut jinis kelamin (MALE/WANITA).
  3. Poin a lan b bisa ditangani kanthi apik kanthi cara getAllUsers()sing bakal ngasilake dhaptar kabeh User, lan cara sing kakehan getAllUsers(Sex sex)bakal ngasilake dhaptar, gumantung saka parameter sing dilewati Sex.

    public static List<User> getAllUsers(){
        return new ArrayList<>(allUsers.values());
    }
    
    public static List<User> getAllUsers(Sex sex){
        List<User> listAllUsers = new ArrayList<>();
        for (User user : allUsers.values()){
            if (user.sex == sex){
                listAllUsers.add(user);
            }
        }
        return listAllUsers;
    }

  4. Wangsulake jumlah pangguna ing dhaptar umum, lan etung nomer adhedhasar jinis pangguna.

    public static int getHowManyUsers(){
        return allUsers.size();
    }
    
    public static int getHowManyUsers(Sex sex){
        return getAllUsers(sex).size();
    }

  5. Etung jumlah total miturut umur pangguna, lan uga nimbang jender. Ayo nggawe cara kanggo tugas iki.

    public static int getAllAgeUsers(){
        int countAge = 0;
        for (User user : allUsers.values()){
            countAge += user.age;
        }
        return countAge;
    }
    
    public static int getAllAgeUsers(Sex sex){
        int countAge = 0;
        for (User user : getAllUsers(sex)){
            countAge += user.age;
        }
        return countAge;
    }

  6. Hitung umur rata-rata, sakabèhé lan miturut jender.

    public static int getAverageAgeOfAllUsers(){
        return getAllAgeUsers() / getHowManyUsers();
    }
    
    public static int getAverageAgeOfAllUsers(Sex sex){
        return getAllAgeUsers(sex) / getHowManyUsers(sex);
    }

    Apik, kita wis nerangake obyek sing dibutuhake lan prilaku. Saiki kita bisa pindhah menyang JUnit , nanging pisanan aku bakal nuduhake sampeyan bakal katon kaya tes prasaja yen kita nindakake ing utama .

    public static void main(String[] args) {
        new User("Eugene", 35, Sex.MALE);
        new User("Marina", 34, Sex.FEMALE);
        new User("Alina", 7, Sex.FEMALE);
    
    
        System.out.println("All users:");
        User.getAllUsers().forEach(System.out::println);
        System.out.println("All users: MALE");
        User.getAllUsers(Sex.MALE).forEach(System.out::println);
        System.out.println("All users: FEMALE");
        User.getAllUsers(Sex.FEMALE).forEach(System.out::println);
        System.out.println("================================================");
        System.out.println(" all users: " + User.getHowManyUsers());
        System.out.println(" all MALE users: " + User.getHowManyUsers(Sex.MALE));
        System.out.println("all FEMALE users: " + User.getHowManyUsers(Sex.FEMALE));
        System.out.println("================================================");
        System.out.println(" total age of all users: " + User.getAllAgeUsers());
        System.out.println(" total age of all MALE users: " + User.getAllAgeUsers(Sex.MALE));
        System.out.println("total age of all FEMALE users: " + User.getAllAgeUsers(Sex.FEMALE));
        System.out.println("================================================");
        System.out.println(" average age of all users: " + User.getAverageAgeOfAllUsers());
        System.out.println(" average age of all MALE users: " + User.getAverageAgeOfAllUsers(Sex.MALE));
        System.out.println("average age of all FEMALE users: " + User.getAverageAgeOfAllUsers(Sex.FEMALE));
        System.out.println("================================================");
    }

    Output menyang console bakal katon kaya iki, banjur kita bakal mbandhingake apa kita entuk operasi normal. Mesthi wae, kita bisa luwih jero, nulis logika perbandingan, lan ndeleng apa pitungan kita, sanajan kita ora yakin manawa kita bisa nyedhiyakake kabeh.

    //output
    Все пользователи:
    User{id=1, name='Eugene', age=35, sex=MALE}
    User{id=2, name='Marina', age=34, sex=FEMALE}
    User{id=3, name='Alina', age=7, sex=FEMALE}
    Все пользователи: MALE
    User{id=1, name='Eugene', age=35, sex=MALE}
    Все пользователи: FEMALE
    User{id=2, name='Marina', age=34, sex=FEMALE}
    User{id=3, name='Alina', age=7, sex=FEMALE}
    ================================================
           всех пользователей: 3
      всех пользователей MALE: 1
    всех пользователей FEMALE: 2
    ================================================
           общий возраст всех пользователей: 76
      общий возраст всех пользователей MALE: 35
    общий возраст всех пользователей FEMALE: 41
    ================================================
           средний возраст всех пользователей: 25
      средний возраст всех пользователей MALE: 35
    средний возраст всех пользователей FEMALE: 20
    ================================================
    
    Process finished with exit code 0

    Kita ora seneng karo asil iki, mudhun karo tes utama , kita butuh JUnit .

Cara nyambungake JUnit menyang proyek

Pitakonan muncul babagan carane nyambungake menyang proyek kasebut. Kanggo sing ngerti, Aku ora bakal njupuk pilihan karo Maven , minangka iki crita temen beda. ;) Bukak struktur proyek Ctrl + Alt + Shift + S -> Pustaka -> klik + (Perpustakaan Proyek Anyar) -> pilih saka Maven, JUnit bagean I - 2banjur kita ndeleng jendhela kasebut, ketik "junit:junit:4.12" ing garis telusuran , ngenteni nganti ketemu -> OK! -> OK! JUnit bagean I - 3Sampeyan kudu entuk asil iki JUnit bagean I - 4Klik OK, Sugeng JUnit wis ditambahake menyang proyek kasebut. Ayo nerusake. Saiki kita kudu nggawe tes kanggo kelas Java kita, sijine kursor ing jeneng kelas User -> penet Alt + Enter -> pilih nggawe Test. Kita kudu ndeleng jendhela ing ngendi kita kudu milih perpustakaan JUnit4 -> pilih metode sing bakal kita tes -> OK JUnit bagean I - 5Ide kasebut dhewe bakal nggawe kelas UserTest, iki kelas sing bakal nutupi kode kanthi tes. Ayo miwiti:

@Tes pertama kita

Ayo nggawe metode @TestgetAllUsers() sing pertama - iki minangka metode sing kudu ngasilake kabeh pangguna. Tes bakal katon kaya iki:
@Test
public void getAllUsers() {
    // create test data
    User user = new User("Eugene", 35, Sex.MALE);
    User user1 = new User("Marina", 34, Sex.FEMALE);
    User user2 = new User("Alina", 7, Sex.FEMALE);

    //create an expected list and fill it with the data of our method
    List<User> expected = User.getAllUsers();

    //create actual list put data in it for comparison
    //what we expect the method to return
    List<User> actual = new ArrayList<>();
    actual.add(user);
    actual.add(user1);
    actual.add(user2);

    //run the test if the list expected and actual are not equal
    //the test will fail, read the test results in the console
    Assert.assertEquals(expected, actual);
}
Ing kene kita nggawe sawetara pangguna tes -> nggawe dhaptar expected ing ngendi kita bakal nyelehake pangguna sing cara bakal bali menyang kita getAllUsers()-> nggawe dhaptar actual ing ngendi kita bakal nyelehake pangguna sing kita nganggep yen getAllUsers()metode Assert.assertEquals(aktual, samesthine) bakal digunakake lan kita bakal pass dhaptar, mriksa lan saiki, kanggo iku. Cara iki bakal nyoba obyek ing dhaptar sing kasedhiya lan ngasilake asil tes. Cara kasebut bakal mbandhingake kabeh bidang obyek, sanajan ngliwati lapangan wong tuwa yen ana warisan. Ayo dadi tes pisanan ... JUnit bagean I - 6Tes rampung kanthi sukses. Saiki ayo nyoba nggawe tes kasebut gagal, mula kita kudu ngganti salah sawijining dhaptar tes, kita bakal nindakake iki kanthi menehi komentar babagan tambahan siji pangguna menyang dhaptar actual.
@Test
public void getAllUsers() {
    // create test data
    User user = new User("Eugene", 35, Sex.MALE);
    User user1 = new User("Marina", 34, Sex.FEMALE);
    User user2 = new User("Alina", 7, Sex.FEMALE);

    //create an expected list and fill it with the data of our method
    List<User> expected = User.getAllUsers();

    //create actual list put data in it for comparison
    //what we expect the method to return
    List<User> actual = new ArrayList<>();
    actual.add(user);
    actual.add(user1);
    //actual.add(user2);

    //run the test if the list expected and actual are not equal
    //the test will fail, read the test results in the console
    Assert.assertEquals(expected, actual);
}
kita mbukak test lan ndeleng ing ngisor iki: JUnit bagean I - 7Saiki kita bisa katon sethitik ing alesan kanggo Gagal test. Ing kene kita bisa ndeleng manawa ana luwih akeh pangguna ing dhaptar sing dipriksa tinimbang sing saiki. Iki minangka alesan kanggo kegagalan. Apa kita bisa mriksa iki ing utama? JUnit : main = 1 : 0. Ayo dideleng kaya apa tes kasebut yen ngemot obyek sing beda-beda, ayo nglakoni kaya mangkene:
@Test
public void getAllUsers() {
    // create test data
    User user = new User("Eugene", 35, Sex.MALE);
    User user1 = new User("Marina", 34, Sex.FEMALE);
    User user2 = new User("Alina", 7, Sex.FEMALE);

    //create an expected list and fill it with the data of our method
    List<User> expected = User.getAllUsers();

    //create actual list put data in it for comparison
    //what we expect the method to return
    List<User> actual = new ArrayList<>();
    actual.add(new User("User1", 1, Sex.MALE));
    actual.add(new User("User2", 2, Sex.FEMALE));
    actual.add(new User("User3", 3, Sex.MALE));

    //run the test if the list expected and actual are not equal
    //the test will fail, read the test results in the console
    Assert.assertEquals(expected, actual);
}
Iki sing bakal ana ing konsol: JUnit bagean I - 8ing kene sampeyan bisa langsung ndeleng manawa ana pangguna sing beda-beda ing dhaptar sing dibandhingake, kita uga bisa ngeklik <Klik kanggo ndeleng prabédan> kita bakal entuk jendhela ing ngendi kita bisa ndeleng kanthi rinci data apa sing kita duwe. masalah karo. IDEA bakal nyorot kabeh lapangan sing ana bedane. JUnit bagean I - 9mainiki bisa kelakon? - Ora. JUnit : main = 2: 0 Inggih, ayo nerusake, kita isih duwe akeh metode sing kudu dites karo tes), nanging ngenteni, ora bakal ala kanggo mriksa yen metode kasebut bakal getAllUsers()bali menyang kita, amarga iku. apa sing ditindakake karo nulltugas JavaRush sing ditangkap dening validator). Ayo iki, iki masalah telung kopecks ...
@Test
public void getAllUsers_NO_NULL() {
    //add check for null
    List<User> expected = User.getAllUsers();
    Assert.assertNotNull(expected);
}
Ya, ya, iki kira-kira carane validator nyekel kode sing ora apiknull ;) Saiki ayo nglakoni tes iki lan ndeleng apa sing dituduhake. Lan bakal nuduhake kesalahan, carane???? Kepiye kesalahan tes bisa ditindakake ing kene))) JUnit bagean I - 10Lan ing kene kita bisa ngasilake asil pertama kanggo nutupi kode kanthi tes. Nalika sampeyan ngelingi, allUsers kita miwiti lapangan ing konstruktor, sing tegese nalika nelpon metode getAllUsers(), kita bakal ngrujuk menyang obyek sing durung diwiwiti. Ayo diowahi, mbusak initialization saka konstruktor, lan nindakaken nalika wara-wara lapangan.
private static Map<Integer, User> allUsers = new HashMap<>();

    public User(String name, int age, Sex sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;

        if (!hasUser()) {
            countId++;
            this.id = countId;
            allUsers.put(id, this);
        }
    }
Ayo ujian, saiki kabeh wis apik. JUnit bagean I - 11Aku ora mikir sing bakal gampang kanggo nyekel NPEs ing utama, Aku sampeyan bakal setuju yen count punika JUnit: utama = 3: 0 Banjur aku bakal nutupi kabeh cara karo tes, lan supaya sampeyan ndeleng carane bakal katon. ... Saiki kelas tes kita katon kaya iki:
package user;

import org.junit.Assert;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

import static org.junit.Assert.*;

public class UserTest {

    @Test
    public void getAllUsers() {
        // create test data
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        //create an expected list and fill it with the data of our method
        List<User> expected = User.getAllUsers();

        //create actual list put data in it for comparison
        //what we expect the method to return
        List<User> actual = new ArrayList<>();
        actual.add(user);
        actual.add(user1);
        actual.add(user2);

        //run the test if the list expected and actual are not equal
        //the test will fail, read the test results in the console
        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllUsers_NO_NULL() {
        //add check for null
        List<User> expected = User.getAllUsers();
        Assert.assertNotNull(expected);
    }

    @Test
    public void getAllUsers_MALE() {
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        List<User> expected = User.getAllUsers(Sex.MALE);

        List<User> actual = new ArrayList<>();
        actual.add(user);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllUsers_MALE_NO_NULL() {
        //add check for null
        List<User> expected = User.getAllUsers(Sex.MALE);
        Assert.assertNotNull(expected);
    }

    @Test
    public void getAllUsers_FEMALE() {
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        List<User> expected = User.getAllUsers(Sex.FEMALE);

        List<User> actual = new ArrayList<>();
        actual.add(user1);
        actual.add(user2);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllUsers_FEMALE_NO_NULL() {
        //add check for null
        List<User> expected = User.getAllUsers(Sex.FEMALE);
        Assert.assertNotNull(expected);
    }

    @Test
    public void getHowManyUsers() {
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        int expected = User.getHowManyUsers();

        int actual = 3;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getHowManyUsers_MALE() {
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        int expected = User.getHowManyUsers(Sex.MALE);

        int actual = 1;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getHowManyUsers_FEMALE() {
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        int expected = User.getHowManyUsers(Sex.FEMALE);

        int actual = 2;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllAgeUsers() {
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        int expected = User.getAllAgeUsers();

        int actual = 35 + 34 + 7;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllAgeUsers_MALE() {
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        int expected = User.getAllAgeUsers(Sex.MALE);

        int actual = 35;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllAgeUsers_FEMALE() {
        User user = new User("Eugene", 35, Sex.MALE);
        User user1 = new User("Marina", 34, Sex.FEMALE);
        User user2 = new User("Alina", 7, Sex.FEMALE);

        int expected = User.getAllAgeUsers(Sex.FEMALE);

        int actual = 34 + 7;

        Assert.assertEquals(expected, actual);
    }
}
Ya, ternyata ora cilik, nanging apa sing bakal kelakon nalika nggarap proyek gedhe. Apa sing bisa dikurangi ing kene? Sawise ngevaluasi kabeh, sampeyan bisa ndeleng manawa kita nggawe data tes ing saben tes, lan ing kene anotasi mbantu kita. Ayo njupuk @Before- Anotasi @Beforenuduhake yen metode kasebut bakal dieksekusi sadurunge saben metode sing diuji @Test. Iki bakal katon kaya kelas tes kanthi anotasi @Before:
package user;

import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

import static org.junit.Assert.*;

public class UserTest {
    private User user;
    private User user1;
    private User user2;

    @Before
    public void setUp() throws Exception {
        user = new User("Eugene", 35, Sex.MALE);
        user1 = new User("Marina", 34, Sex.FEMALE);
        user2 = new User("Alina", 7, Sex.FEMALE);
    }

    @Test
    public void getAllUsers() {
        List<User> expected = User.getAllUsers();

        List<User> actual = new ArrayList<>();
        actual.add(user);
        actual.add(user1);
        actual.add(user2);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllUsers_NO_NULL() {
        List<User> expected = User.getAllUsers();
        Assert.assertNotNull(expected);
    }

    @Test
    public void getAllUsers_MALE() {
        List<User> expected = User.getAllUsers(Sex.MALE);

        List<User> actual = new ArrayList<>();
        actual.add(user);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllUsers_MALE_NO_NULL() {
        //add check for null
        List<User> expected = User.getAllUsers(Sex.MALE);
        Assert.assertNotNull(expected);
    }

    @Test
    public void getAllUsers_FEMALE() {
        List<User> expected = User.getAllUsers(Sex.FEMALE);

        List<User> actual = new ArrayList<>();
        actual.add(user1);
        actual.add(user2);

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllUsers_FEMALE_NO_NULL() {
        //add check for null
        List<User> expected = User.getAllUsers(Sex.FEMALE);
        Assert.assertNotNull(expected);
    }

    @Test
    public void getHowManyUsers() {
        int expected = User.getHowManyUsers();

        int actual = 3;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getHowManyUsers_MALE() {
        int expected = User.getHowManyUsers(Sex.MALE);

        int actual = 1;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getHowManyUsers_FEMALE() {
        int expected = User.getHowManyUsers(Sex.FEMALE);

        int actual = 2;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllAgeUsers() {
        int expected = User.getAllAgeUsers();

        int actual = 35 + 34 + 7;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllAgeUsers_MALE() {
        int expected = User.getAllAgeUsers(Sex.MALE);

        int actual = 35;

        Assert.assertEquals(expected, actual);
    }

    @Test
    public void getAllAgeUsers_FEMALE() {
        int expected = User.getAllAgeUsers(Sex.FEMALE);

        int actual = 34 + 7;

        Assert.assertEquals(expected, actual);
    }
}
Lha, piye carane sampeyan, wis luwih nyenengake lan luwih gampang diwaca;) Iki dhaptar anotasi kanggo JUnit, mesthi luwih gampang urip karo dheweke.
@Test – определяет что метод method() является тестовым.
@Before – указывает на то, что метод будет выполнятся перед каждым тестируемым методом @Test.
@After – указывает на то что метод будет выполнятся после каждого тестируемого метода @Test
@BeforeClass – указывает на то, что метод будет выполнятся в начале всех тестов,
а точней в момент запуска тестов(перед всеми тестами @Test).
@AfterClass – указывает на то, что метод будет выполнятся после всех тестов.
@Ignore – говорит, что метод будет проигнорирован в момент проведения тестирования.
(expected = Exception.class) – указывает на то, что в данном тестовом методе
вы преднамеренно ожидаете Exception.
(timeout = 100) – указывает, что тестируемый метод не должен занимать больше чем 100 миллисекунд.
Metode kelas utama Assertkanggo mriksa:
fail(String) – указывает на то что бы тестовый метод завалился при этом выводя текстовое сообщение.
assertTrue([message], boolean condition) – проверяет, что логическое condition истинно.
assertsEquals([String message], expected, actual) – проверяет, что два значения совпадают.
Примечание: для массивов проверяются ссылки, а не содержание массивов.
assertNull([message], object) – проверяет, что an object является пустым null.
assertNotNull([message], object) – проверяет, что an object не является пустым null.
assertSame([String], expected, actual) – проверяет, что обе переменные относятся к одному an objectу.
assertNotSame([String], expected, actual) – проверяет, что обе переменные относятся к разным an objectм.
Iki carane kita bisa nambah JUnit 4.12 dependensi ing Maven
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>
terus kene -> JUnit part II
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION