2017-08-24 58 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; 
    } 

}