JavaRush /Java Blog /Random-TL /JUnit bahagi II

JUnit bahagi II

Nai-publish sa grupo
dito nagsimula ang pagpapatuloy -> JUnit part I
JUnit bahagi II - 1
Nais ko ring ipakita sa iyo kung paano gumagana ang pamamaraan Assert.fail(String)- kung ang pamamaraang ito ay tinatawag, ang pagsubok ay mabibigo. Maginhawa kung ang ibang mga pamamaraan ng klase Assert ay hindi maaaring suriin para sa amin. Sabihin nating kailangan nating ipagbawal ang pagtanggap new String(“”). Subukan nating gawin ito gamit ang constructor at huwag paganahin ang pagpasa name = “” || null, age = 0; Sex = null. Tara na... Nagdagdag ako ng mga karagdagang field para sa pagsubok
private User user;
private User user1;
private User user2;

private User userNotAdd;
private User userNotAdd1;
at binago ang pamamaraansetUp()
@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);

    userNotAdd = new User("", 0, null);
    userNotAdd1 = new User(null, 0, null);
}
at nagdagdag ng tatlong paraan ng pagsubok
@Test
public void newUser_EMPTY_NAME() {
    for (User user : User.getAllUsers()){
        if (user.getName() != null && user.getName().isEmpty()) {
            Assert.fail("Попытка создания пользователя с пустым именем");
        }
    }
}

@Test
public void newUser_AGE_ZERO() {
    for (User user : User.getAllUsers()) {
        if (user.getAge() <= 0) {
            Assert.fail("Попытка создания пользователя c не допустимым возрастом");
        }
    }
}

@Test
public void newUser_SEX_NO_NULL() {
    for (User user : User.getAllUsers()) {
        if (user.getSex() == null) {
            Assert.fail("Попытка создания пользователя с указанием пола = null");
        }
    }
}
Sa mga pagsubok, dumaan kami sa listahan ng mga idinagdag na user at tingnan kung mayroong anumang di-wastong data. Pinapatakbo namin ang mga pagsubok nang maramihan, at nakita namin ang sumusunod na larawan... JUnit bahagi II - 2 Makikita mo na ang aming mga pagsubok para sa konstruktor ay nasira, at ang ilang higit pang mga pagsubok ay nahuli din. Ngayon kailangan naming baguhin ang konstruktor upang hindi ito magdagdag isang user na may mga di-wastong parameter sa listahan ng mga user, gawin natin itong ganito:
public User(String name, int age, Sex sex) {
    if (name != null && !name.isEmpty() && age > 0 && sex != null){
        this.name = name;
        this.age = age;
        this.sex = sex;

        if (!hasUser()) {
            countId++;
            this.id = countId;
            allUsers.put(id, this);
        }
    }
}
Pinapatakbo namin ang aming mga pagsubok at nakita namin na ang lahat ay maganda. JUnit bahagi II - 3 Upang ibuod, ang JUnit ay isang mahusay na tool para sa pagsakop sa iyong code ng mga pagsubok. Ang JUnit ay gagana nang mas mahusay kasabay ng Maven , kapag binuo ang proyekto, tiyak na tatakbo si Maven sa lahat ng mga pagsubok, at pagkatapos ay itatayo ang aming natapos na proyekto, ngunit kung ang mga pagsubok ay mabibigo, ang proyekto ay hindi itatayo, at malalaman natin ang mga dahilan, at mas madaling malaman kung saan eksaktong breakdown. Ang pangalawang bentahe ng JUnit ay ang kaso ng Refactoring , JUnit tests ay makakatulong sa amin na matiyak na ang logic ng aming programa ay hindi masira. At sa malalaking proyekto, hindi posible ang buhay nang walang awtomatikong sistema ng pagsubok, bagaman maaaring posible, ngunit ang iyong proyekto ay lilipat sa bilis ng isang suso... o isang bagay na tulad nito... JUnit bahagi II - 4 Kung sasaklawin natin ang ating code nang maayos sa mga pagsubok , pagkatapos ay makatitiyak kami na ang aming kliyente, ang aming produkto ay gagana nang mahusay. P/S Ipinapahayag ko ang aking matinding pasasalamat kay Victor Sergeev!!! Narito ang mga link sa video lesson kung saan itinuro niya sa amin: Salamat sa iyong atensyon!!! Magkaroon ng magandang kalooban!!! At nawa'y iligtas ka ng Diyos mula sa Hindu code!!! ...gayundin, kung sinuman ang interesadong suriin ang source code para sa artikulo... halina't kumakatok... Ibabahagi ko ang simula dito - JUnit bahagi I
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION