JavaRush /Java Blog /Random-ID /JUnit bagian I

JUnit bagian I

Dipublikasikan di grup Random-ID

JUnit :: atau cara menyukai validator JavaRush

JUnit bagian I - 1Secara singkat mengapa kita membutuhkan binatang ini? JUnit adalah kerangka kerja untuk secara otomatis menguji kode Anda yang baik atau tidak . Anda dapat berkata: - mengapa saya memerlukan ayunan ini, saya dapat dengan mudah dan sederhana menguji kode Java saya yang bagus. Anda dapat menulis banyak lirik pengantar, tetapi saya bukan seorang penyair, mari kita mulai bisnisnya...

Buat sebuah objek

Jadi, untuk menguji sesuatu, pertama-tama kita memerlukan benda uji. Kami memiliki tugas di depan kami.
  1. Kita membutuhkan sebuah objek yang akan menyimpan informasi tentang Pengguna.
    1. Id - harus dihitung sesuai urutan penambahan pengguna baru.
    2. Nama belakang.
    3. Usianya.
    4. Jenis kelamin Laki-laki Perempuan)
  2. Penting untuk menyediakan penyimpanan daftar pengguna.

  3. Kelas harus bisa.

    1. Hasilkan daftar semua pengguna.
    2. Buat daftar pengguna berdasarkan gender (MALE/FEMALE).
    3. Kembalikan jumlah pengguna dalam daftar umum, dan hitung jumlahnya berdasarkan jenis kelamin pengguna.
    4. Hitung jumlah total berdasarkan usia pengguna, dan pertimbangkan juga jenis kelamin.
    5. Hitung usia rata-rata, baik secara keseluruhan maupun berdasarkan jenis kelamin.
Jadi, mari kita mulai membuat objek... Mari kita buat kelas Java Useryang akan berisi bidang:
private int id;
private String name;
private int age;
private Sex sex;
Ini cukup untuk menyimpan data pengguna, mari kita lihat apa lagi yang diperlukan untuk tugas tersebut. Kita perlu menyimpan semua pengguna, mari kita buat bidang statis di kelas kita allUsers, menurut saya tidak apa-apa jika iniMap<Integer, User>
private static Map<Integer, User> allUsers;
Kita juga perlu menetapkan nomor urut kepada pengguna, mari kita buat bidang penghitung statis, yang, saat membuat pengguna baru, akan menetapkan nomor urut Id kepada pengguna.
private static int countId = 0;
Jadi, sepertinya kita sudah memilah bidangnya, mari kita tulis konstruktor untuk objek kita, dan pengambil untuk bidangnya id, name, age, sex. Tidak ada yang rumit dengan heterae, mari kita minta bantuan IDEA , dia tidak akan pernah menolak, dan kita akan membuat konstruktornya sedikit rumit. Perancang akan mampu. Inisialisasi bidang, periksa apakah ada objek seperti itu di allUsers, jika tidak ada objek seperti itu, lalu tingkatkan penghitung kami countId++dan tambahkan ke daftar semua pengguna. Dan juga inisialisasi field allUsers jika belum diinisialisasi. Untuk kenyamanan mencari objek yang identik, kami akan mendefinisikan ulang metode equals()dan , sekali lagi kami akan meminta bantuan dari IDEAhashCode() tercinta dan membandingkan berdasarkan bidang , , . Selain itu, mari buat metode pribadi yang akan memeriksa apakah objek tersebut ada dalam daftar. nameagesexhasUser()
@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);
}
Pada akhirnya, saya mendapatkan desainer 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 metode pembantu pribadi
private boolean hasUser(){
    for (User user : allUsers.values()){
        if (user.equals(this) && user.hashCode() == this.hashCode()){
            return true;
        }
    }
    return false;
}
dan juga mendefinisikan ulangtoString()
@Override
public String toString() {
    return "User{" +
            "id=" + id +
            ", name='" + name + '\'' +
            ", age=" + age +
            ", sex=" + sex +
            '}';
}
Sekarang saatnya menerapkan logika metode yang diperlukan. Karena logikanya terutama akan bekerja dengan bidang statis, kita juga akan membuat metodenya statis; metode ini tidak diperlukan untuk objek.
  1. Hasilkan daftar semua pengguna.
  2. Buat daftar pengguna berdasarkan gender (MALE/FEMALE).
  3. Poin a dan b dapat ditangani dengan baik dengan metode getAllUsers()yang akan mengembalikan daftar semua User, dan metode kelebihan beban getAllUsers(Sex sex)yang akan mengembalikan daftar, bergantung pada parameter yang diteruskan 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 jumlah pengguna dalam daftar umum, dan hitung jumlahnya berdasarkan jenis kelamin pengguna.

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

  5. Hitung jumlah total berdasarkan usia pengguna, dan pertimbangkan juga jenis kelamin. Mari buat metode untuk tugas 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. Hitung usia rata-rata, baik secara keseluruhan maupun berdasarkan jenis kelamin.

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

    Hebat, kami telah menjelaskan objek yang diperlukan dan perilakunya. Sekarang kita dapat melanjutkan ke JUnit , tapi pertama-tama saya akan menunjukkan kepada Anda seperti apa tes sederhana jika kita melakukannya di 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 ke konsol akan terlihat seperti ini, dan kemudian kita akan membandingkan apakah kita mendapatkan operasi normal. Tentu saja kita bisa masuk lebih dalam, menulis logika perbandingan, dan melihat hasil perhitungan kita, meskipun kita tidak yakin bahwa kita mampu menyediakan semuanya.

    //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 senang dengan hasil ini, karena pengujian utama , kami memerlukan JUnit .

Bagaimana menghubungkan JUnit ke sebuah proyek

Timbul pertanyaan bagaimana menghubungkannya ke proyek. Bagi yang tahu, saya tidak akan mengambil opsi dengan Maven , karena ini adalah cerita yang sama sekali berbeda. ;) Buka struktur proyek Ctrl + Alt + Shift + S -> Libraries -> klik + (New Project Library) -> pilih dari Maven, JUnit bagian I - 2lalu kita melihat jendela seperti itu, masukkan “junit:junit:4.12” di bilah pencarian , tunggu sampai ketemu -> OK! -> Oke! JUnit bagian I - 3Anda harus mendapatkan hasil ini JUnit bagian I - 4Klik OK, selamat JUnit telah ditambahkan ke proyek. Mari kita lanjutkan. Sekarang kita perlu membuat tes untuk kelas Java kita, letakkan kursor pada nama kelas User -> tekan Alt + Enter -> pilih buat Tes. Kita akan melihat jendela di mana kita perlu memilih perpustakaan JUnit4 -> pilih metode yang akan kita uji -> OK JUnit bagian I - 5Idenya sendiri akan membuat kelas UserTest, ini adalah kelas di mana kita akan menutupi kode kita dengan tes. Mari kita mulai:

@Tes pertama kami

Mari kita buat metode @TestgetAllUsers() pertama kita - ini adalah metode yang akan mengembalikan semua pengguna. Tesnya akan terlihat 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 kita membuat beberapa pengguna uji -> membuat daftar expected di mana kita akan menempatkan pengguna yang metodenya akan kembali kepada kita getAllUsers()-> membuat daftar actual di mana kita akan menempatkan pengguna yang kita anggap sebagai getAllUsers()metode Assert.assertEquals(aktual, diharapkan) akan digunakan dan kami akan meneruskan daftarnya, yang telah diperiksa dan terkini, ke sana. Metode ini akan menguji objek dalam daftar yang disediakan dan mengembalikan hasil pengujian. Metode tersebut akan membandingkan semua field objek, bahkan melalui field induk jika ada pewarisan. Mari kita jalankan tes pertama... JUnit bagian I - 6Tes selesai dengan sukses. Sekarang mari kita coba membuat pengujian gagal, untuk ini kita perlu mengubah salah satu daftar pengujian, kita akan melakukannya dengan mengomentari penambahan satu pengguna ke dalam daftar 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 pengujian dan melihat hal berikut: JUnit bagian I - 7Sekarang kita dapat melihat sedikit alasan kegagalan pengujian. Di sini kita melihat bahwa ada lebih banyak pengguna dalam daftar yang diperiksa daripada yang ada saat ini. Inilah alasan kegagalannya. Bisakah kita memeriksanya di main? JUnit : main = 1 : 0. Mari kita lihat seperti apa tesnya jika berisi objek yang sama sekali berbeda, mari kita lakukan 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 di konsol: JUnit bagian I - 8di sini Anda dapat langsung melihat bahwa ada pengguna berbeda dalam daftar yang dibandingkan, kita juga dapat mengklik <Klik untuk melihat perbedaan> kita akan mendapatkan jendela di mana kita dapat melihat secara detail data apa yang kita miliki masalah dengan. IDEA akan menyorot semua bidang yang terdapat perbedaan. JUnit bagian I - 9mainbisakah ini terjadi? - TIDAK. JUnit : main = 2 : 0 Baiklah, mari kita lanjutkan, kita masih memiliki banyak metode yang perlu dibahas dengan pengujian), tapi tunggu, tidak ada salahnya untuk memeriksa apakah metode tersebut akan getAllUsers()kembali kepada kita, karena itulah apa yang kami lakukan dengan nulltugas JavaRush yang ditangkap oleh validator). Ayo lakukan ini, ini soal tiga kopek...
@Test
public void getAllUsers_NO_NULL() {
    //add check for null
    List<User> expected = User.getAllUsers();
    Assert.assertNotNull(expected);
}
Ya, ya, kira-kira beginilah cara validator menangkap kode jeleknull kita ;) Sekarang mari kita jalankan tes ini dan lihat apa yang ditunjukkannya kepada kita. Dan akan muncul error, bagaimana???? Bagaimana kesalahan pengujian bisa terjadi di sini))) JUnit bagian I - 10Dan di sini kita dapat menuai hasil pertama dari menutupi kode kita dengan pengujian. Seperti yang Anda ingat, allUsers kami menginisialisasi bidang di konstruktor, yang berarti ketika memanggil metode getAllUsers(), kami akan merujuk ke objek yang belum diinisialisasi. Mari kita edit, hapus inisialisasi dari konstruktor, dan lakukan saat mendeklarasikan field.
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 tesnya, sekarang semuanya baik-baik saja. JUnit bagian I - 11Saya rasa tidak akan mudah untuk menangkap NPE di main, saya rasa Anda akan setuju bahwa hitungannya adalah JUnit: main = 3: 0 Lalu saya akan membahas semua metode dengan tes, dan membiarkan Anda melihat tampilannya ... Sekarang kelas pengujian kita terlihat 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 tidak kecil, tapi apa jadinya jika mengerjakan proyek besar. Apa yang bisa dikurangi di sini? Setelah mengevaluasi semuanya, Anda dapat melihat bahwa kami membuat data pengujian di setiap pengujian, dan di sini anotasi membantu kami. Mari kita ambil @Before- Anotasi @Beforemenunjukkan bahwa metode tersebut akan dieksekusi sebelum setiap metode yang diuji @Test. Inilah tampilan kelas pengujian 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 dengan Anda, ini sudah lebih menyenangkan dan mudah dibaca ;) Berikut daftar anotasi untuk JUnit; pasti lebih mudah untuk menggunakannya.
@Test – определяет что метод method() является тестовым.
@Before – указывает на то, что метод будет выполнятся перед каждым тестируемым методом @Test.
@After – указывает на то что метод будет выполнятся после каждого тестируемого метода @Test
@BeforeClass – указывает на то, что метод будет выполнятся в начале всех тестов,
а точней в момент запуска тестов(перед всеми тестами @Test).
@AfterClass – указывает на то, что метод будет выполнятся после всех тестов.
@Ignore – говорит, что метод будет проигнорирован в момент проведения тестирования.
(expected = Exception.class) – указывает на то, что в данном тестовом методе
вы преднамеренно ожидаете Exception.
(timeout = 100) – указывает, что тестируемый метод не должен занимать больше чем 100 миллисекунд.
Metode kelas utama Assertuntuk memeriksa:
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м.
Ini adalah bagaimana kita dapat menambahkan ketergantungan JUnit 4.12 di Maven
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>
dilanjutkan di sini -> JUnit bagian II
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION