簡體   English   中英

如何使用JUnit有效地測​​試方法

[英]How to test methods efficiently with JUnit

我的第一個方法很簡單,它只是一個toString ,它輸出3個類的特定字段

public String toString(){
    return String.format("%s/%s/%s",street,city,postcode);
}

在JUnit中,它給了我進行測試的能力,我不確定如何有效地做到這一點。

@Test
public void testToString() {
    System.out.println("toString");
    Address instance = null;
    String expResult = "";
    String result = instance.toString();
    assertEquals(expResult, result);
    // TODO review the generated test code and remove the default call to fail.
    fail("The test case is a prototype.");
}

我已經對JUnit進行了很多研究,並且了解測試的概念,但是無法完全理解如何使用代碼進行測試。 另外我將如何有效地測試此方法,這是子類中的方法,是父類中的抽象方法

@Override
int getDiscountRate() {
   return this.companyDiscount; 
}

它給了我這個測試

@Test
public void testGetDiscountRate() {
    System.out.println("getDiscountRate");
    BusinessOrganisationDetails instance = null;
    int expResult = 0;
    int result = instance.getDiscountRate();
    assertEquals(expResult, result);
    // TODO review the generated test code and remove the default call to fail.
    fail("The test case is a prototype.");
}

看起來不錯 當然,您需要實例化實例變量,否則將導致NullPointerException。

在這里,最終效果如何:

@Test
public void testToString() {
    System.out.println("toString");
    Address instance = new Address();
    instance.setStreet("Somestreet");
    instance.setCity("Somecity");
    instance.setPostcode("12345");
    String expResult = "SomestreetSomecity12345";
    String result = instance.toString();
    assertEquals(expResult, result);
}

和另一個測試:

@Test
public void testGetDiscountRate() {
    System.out.println("getDiscountRate");
    BusinessOrganisationDetails instance = new BusinessOrganisationDetails();
    instance.setCompanyDiscount(50);
    int expResult = 50;
    int result = instance.getDiscountRate();
    assertEquals(expResult, result);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM