2017-08-24 60 views
-1

當我執行時,我的方法返回不同的值,例如它返回第一次執行時的abc和第二次執行時的cde,所以我想assertequla值與枚舉值如此plz告訴我如何編寫junit測試用例.Enum是abc("abc"),cde("cde");。樣品Junit的毒鼠強案件Junit爲每次執行時需要與枚舉值進行比較的方法返回不同值的情況

@Test 
public void test() { 
    assertEquals(Enum.abc,mymethod.getvalue()); 
} 
+0

mymethod.getvalue()是做什麼的? – JensS

+0

這是我的課程中返回隨機值的方法@JensS – venu

+0

您想斷言無論getvalue返回的是您的枚舉值之一,是正確的嗎? – JensS

回答

0

assertEqauls枚舉,使用其toString()方法:

@Test 
public void test() { 
    assertEquals(Enum.abc.toString(), mymethod.getvalue()); 
} 
0

要檢查,如果事情是在枚舉,你需要這樣的結構:

public class EnumTest { 

    enum TestEnum { 
     ABC("abc"), 
     DEF("def"); 

     String value; 

     TestEnum(String value) { 
      this.value = value; 
     } 

     String getValue() { 
      return value; 
     } 
    } 


    public static void main(String[] args) { 
     assertTrue(isInEnum("abc")); 
     assertTrue(isInEnum("def")); 
     assertFalse(isInEnum("ghj")); 
    } 

    static boolean isInEnum(String value) { 
     for (TestEnum test : TestEnum.values()) { 
      if(test.getValue().equals(value)) { 
       return true; 
      } 
     } 
     return false; 
    } 

}