JavaRush /Blog Java /Random-MS /JUnit bahagian I

JUnit bahagian I

Diterbitkan dalam kumpulan

JUnit :: atau bagaimana untuk menyukai pengesah JavaRush

JUnit bahagian I - 1Secara ringkas tentang mengapa kita memerlukan binatang ini? JUnit ialah rangka kerja untuk menguji kod baik atau tidak baik anda secara automatik . Anda boleh berkata: - mengapa saya memerlukan ayunan ini, saya boleh dengan mudah dan mudah menguji kod Java saya yang baik. Anda boleh menulis banyak lirik pengenalan, tetapi saya bukan seorang penyair, mari kita mula berniaga...

Buat objek

Oleh itu, untuk menguji sesuatu, kita memerlukan objek ujian terlebih dahulu. Kami mempunyai tugas di hadapan kami.
  1. Kami memerlukan objek yang akan menyimpan maklumat tentang Pengguna.
    1. Id - mesti dikira mengikut susunan pengguna baharu itu ditambahkan.
    2. Nama pengguna.
    3. Umur dia.
    4. Jantina Lelaki Perempuan)
  2. Ia adalah perlu untuk menyediakan storan senarai pengguna.

  3. Kelas mesti boleh.

    1. Hasilkan senarai semua pengguna.
    2. Jana senarai pengguna mengikut jantina (LELAKI/PEREMPUAN).
    3. Kembalikan bilangan pengguna dalam senarai umum dan hitung bilangan berdasarkan jantina pengguna.
    4. Kira jumlah amaun mengikut umur pengguna, dan juga mengambil kira jantina.
    5. Kira purata umur, secara keseluruhan dan mengikut jantina.
Oleh itu, mari mula mencipta objek... Mari buat kelas Java Useryang akan mengandungi medan:
private int id;
private String name;
private int age;
private Sex sex;
Ini sudah cukup untuk menyimpan data pengguna, mari lihat apa lagi yang diperlukan untuk tugas itu. Entah bagaimana kita perlu menyimpan semua pengguna, mari buat medan statik dalam kelas kita allUsers, saya rasa tidak mengapa jika iniMap<Integer, User>
private static Map<Integer, User> allUsers;
Kami juga entah bagaimana perlu memberikan nombor jujukan kepada pengguna, mari buat medan pembilang statik, yang, apabila mencipta pengguna baharu, akan memberikan nombor jujukan Id kepada pengguna.
private static int countId = 0;
Jadi, kita nampaknya telah menyusun medan, mari tulis pembina untuk objek kita, dan getter untuk medan id, name, age, sex. Tiada apa-apa yang rumit dengan heterae, mari kita minta bantuan IDEA , dia tidak akan menolak, dan kami akan membuat pembina agak rumit. Pereka akan dapat. Mulakan medan, semak sama ada terdapat objek sedemikian dalam allUsers, jika tiada objek sedemikian, kemudian tingkatkan kaunter kami countId++dan tambahkannya pada senarai semua pengguna. Dan juga mulakan medan allUsers jika ia belum dimulakan. Untuk kemudahan mencari objek yang serupa, kami akan mentakrifkan semula kaedah equals()dan hashCode(), sekali lagi kami akan meminta bantuan daripada IDEA tercinta kami dan bandingkan mengikut medan name, age, sex. Selain itu, mari buat kaedah persendirian hasUser()yang akan menyemak sama ada objek sedemikian berada dalam senarai.
@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);
}
Akhirnya, saya berakhir dengan pereka seperti ini.
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);
    }
}
dan kaedah pembantu peribadi
private boolean hasUser(){
    for (User user : allUsers.values()){
        if (user.equals(this) && user.hashCode() == this.hashCode()){
            return true;
        }
    }
    return false;
}
dan juga mentakrifkan semulatoString()
@Override
public String toString() {
    return "User{" +
            "id=" + id +
            ", name='" + name + '\'' +
            ", age=" + age +
            ", sex=" + sex +
            '}';
}
Kini tiba masanya untuk melaksanakan logik kaedah yang diperlukan. Memandangkan logik terutamanya akan berfungsi dengan medan statik, kami juga akan menjadikan kaedah statik; ia tidak diperlukan untuk objek.
  1. Hasilkan senarai semua pengguna.
  2. Jana senarai pengguna mengikut jantina (LELAKI/PEREMPUAN).
  3. Titik a dan b boleh dikendalikan dengan baik dengan kaedah getAllUsers()yang akan mengembalikan senarai semua User, dan kaedah terlebih beban getAllUsers(Sex sex)yang akan mengembalikan senarai, bergantung pada parameter yang diluluskan 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. Kembalikan bilangan pengguna dalam senarai umum dan hitung bilangan berdasarkan jantina pengguna.

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

  5. Kira jumlah amaun mengikut umur pengguna, dan juga mengambil kira jantina. Mari kita cipta kaedah untuk tugasan ini.

    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. Kira purata umur, secara keseluruhan dan mengikut jantina.

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

    Hebat, kami telah menerangkan objek yang diperlukan dan kelakuannya. Sekarang kita boleh beralih kepada JUnit , tetapi pertama-tama saya akan menunjukkan kepada anda bagaimana ujian mudah akan kelihatan jika kita melakukannya dalam main .

    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 kepada konsol akan kelihatan seperti ini, dan kemudian kami akan membandingkan sama ada kami mendapat operasi biasa. Kita boleh, sudah tentu, pergi lebih dalam, menulis logik perbandingan, dan melihat apa yang dikatakan pengiraan kita, walaupun kita tidak akan pasti bahawa kita mampu menyediakan segala-galanya.

    //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

    Kami tidak berpuas hati dengan keputusan ini, dengan ujian utama , kami memerlukan JUnit .

Bagaimana untuk menyambungkan JUnit ke projek

Timbul persoalan bagaimana menyambungkannya ke projek. Bagi mereka yang tahu, saya tidak akan mengambil pilihan dengan Maven , kerana ini adalah cerita yang sama sekali berbeza. ;) Buka struktur projek Ctrl + Alt + Shift + S -> Perpustakaan -> klik + (Perpustakaan Projek Baru) -> pilih dari Maven, JUnit bahagian I - 2kemudian kita melihat tetingkap sedemikian, masukkan "junit:junit:4.12" dalam bar carian , tunggu sehingga ia menemui -> OK! -> OK! JUnit bahagian I - 3Anda sepatutnya mendapat keputusan ini JUnit bahagian I - 4Klik OK, tahniah JUnit telah ditambahkan ke projek. Jom teruskan. Sekarang kita perlu membuat ujian untuk kelas Java kita, letakkan kursor pada nama kelas User -> tekan Alt + Enter -> pilih buat Ujian. Kita harus melihat tetingkap di mana kita perlu memilih perpustakaan JUnit4 -> pilih kaedah yang akan kita uji -> OK JUnit bahagian I - 5Idea itu sendiri akan mencipta kelas UserTest, ini adalah kelas di mana kita akan menutup kod kita dengan ujian. Mari kita mulakan:

@Ujian pertama kami

Mari buat kaedah @TestgetAllUsers() kami yang pertama - ini ialah kaedah yang sepatutnya mengembalikan semua pengguna. Ujian akan kelihatan seperti ini:
@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);
}
Di sini kami mencipta beberapa pengguna ujian -> membuat senarai expected di mana kami akan meletakkan pengguna yang kaedahnya akan kembali kepada kami getAllUsers()-> mencipta senarai actual di mana kami akan meletakkan pengguna yang kami anggap bahawa getAllUsers()kaedah Assert.assertEquals(sebenar, dijangka) akan digunakan dan kami akan lulus senarai, diperiksa dan semasa, kepadanya. Kaedah ini akan menguji objek dalam senarai yang disediakan dan mengembalikan keputusan ujian. Kaedah itu akan membandingkan semua bidang objek, malah melalui bidang ibu bapa jika ada harta pusaka. Mari jalankan ujian pertama... JUnit bahagian I - 6Ujian berjaya diselesaikan. Sekarang mari kita cuba membuat ujian gagal, untuk ini kita perlu menukar salah satu senarai ujian, kita akan melakukan ini dengan mengulas penambahan satu pengguna ke senarai 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 menjalankan ujian dan melihat perkara berikut: JUnit bahagian I - 7Sekarang kita boleh melihat sedikit sebab kegagalan ujian. Di sini kita melihat bahawa terdapat lebih ramai pengguna dalam senarai yang diperiksa daripada dalam senarai semasa. Ini adalah punca kegagalan. Bolehkah kita menyemak ini di utama? JUnit : main = 1 : 0. Mari kita lihat bagaimana ujian itu akan kelihatan jika ia mengandungi objek yang sama sekali berbeza, mari kita lakukannya seperti ini:
@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);
}
Inilah yang akan ada dalam konsol: JUnit bahagian I - 8di sini anda boleh melihat dengan serta-merta bahawa terdapat pengguna yang berbeza dalam senarai yang dibandingkan, kami juga boleh mengklik pada <Click untuk melihat perbezaan> kami akan mendapat tetingkap di mana kami boleh melihat secara terperinci data yang kami ada masalah dengan. IDEA akan menyerlahkan semua medan yang terdapat perbezaan. JUnit bahagian I - 9mainbolehkah ini berlaku? - Tidak. JUnit : main = 2 : 0 Baiklah, mari kita teruskan, kita masih mempunyai banyak kaedah yang perlu diliputi dengan ujian), tetapi tunggu, tidaklah salah untuk menyemak sama ada kaedah itu akan getAllUsers()kembali kepada kita, kerana itu apa yang kami lakukan dengan nulltugas JavaRush yang ditangkap oleh pengesah). Mari kita lakukan ini, ini soal tiga kopecks...
@Test
public void getAllUsers_NO_NULL() {
    //add check for null
    List<User> expected = User.getAllUsers();
    Assert.assertNotNull(expected);
}
Ya, ya, ini adalah lebih kurang cara pengesah menangkap kod buruknull kami ;) Sekarang mari jalankan ujian ini dan lihat apa yang ditunjukkan kepada kami. Dan ia akan menunjukkan ralat, bagaimana???? Bagaimanakah ralat ujian boleh dibuat di sini))) JUnit bahagian I - 10Dan di sini kita boleh menuai hasil pertama meliputi kod kita dengan ujian. Seperti yang anda ingat, allUsers kami memulakan medan dalam pembina, yang bermaksud bahawa apabila memanggil kaedah getAllUsers(), kami akan merujuk kepada objek yang belum dimulakan. Mari editnya, alih keluar permulaan daripada pembina, dan lakukannya apabila mengisytiharkan medan.
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);
        }
    }
Mari kita jalankan ujian, kini semuanya baik-baik saja. JUnit bahagian I - 11Saya tidak fikir ia akan menjadi mudah untuk menangkap NPE dalam utama, saya fikir anda akan bersetuju bahawa kiraan adalah JUnit: main = 3: 0 Kemudian saya akan meliputi semua kaedah dengan ujian, dan biarkan anda melihat bagaimana ia akan kelihatan ... Sekarang kelas ujian kami kelihatan seperti ini:
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 bukan kecil, tetapi apa yang akan berlaku apabila bekerja dengan projek besar. Apakah yang boleh dikurangkan di sini? Selepas menilai segala-galanya, anda dapat melihat bahawa kami mencipta data ujian dalam setiap ujian, dan di sini anotasi datang untuk membantu kami. Mari kita ambil @Before- Anotasi @Beforemenunjukkan bahawa kaedah akan dilaksanakan sebelum setiap kaedah yang diuji @Test. Inilah rupa kelas ujian kami dengan anotasi sekarang @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);
    }
}
Nah, bagaimana pula dengan anda, ia sudah lebih menyeronokkan dan lebih mudah dibaca ;) Berikut adalah senarai anotasi untuk JUnit, pastinya lebih mudah untuk hidup bersama mereka.
@Test – определяет что метод method() является тестовым.
@Before – указывает на то, что метод будет выполнятся перед каждым тестируемым методом @Test.
@After – указывает на то что метод будет выполнятся после каждого тестируемого метода @Test
@BeforeClass – указывает на то, что метод будет выполнятся в начале всех тестов,
а точней в момент запуска тестов(перед всеми тестами @Test).
@AfterClass – указывает на то, что метод будет выполнятся после всех тестов.
@Ignore – говорит, что метод будет проигнорирован в момент проведения тестирования.
(expected = Exception.class) – указывает на то, что в данном тестовом методе
вы преднамеренно ожидаете Exception.
(timeout = 100) – указывает, что тестируемый метод не должен занимать больше чем 100 миллисекунд.
Kaedah kelas utama Assertuntuk menyemak:
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м.
Inilah cara kita boleh menambah pergantungan JUnit 4.12 dalam Maven
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>
bersambung di sini -> JUnit bahagian II
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION