如何使用JUNIT创建测试用例以测试ENUMS类型。下面我用枚举类型添加了我的代码。
public class TrafficProfileExtension {
public static enum CosProfileType {
BENIGN ("BENIGN"),
CUSTOMER ("CUSTOMER"),
FRAME ("FRAME"),
PPCO ("PPCO"),
STANDARD ("STANDARD"),
W_RED ("W-RED"),
LEGACY("LEGACY"),
OPTIONB ("OPTIONB");
private final String cosProfileType;
private CosProfileType(String s) {
cosProfileType = s;
}
public boolean equalsName(String otherName){
return (otherName == null)? false:cosProfileType.equals(otherName);
}
public String toString(){
return cosProfileType;
}
}
}
我为我的枚举CosProfileType
创建了一个测试用例,我在CosProfileType上收到错误。如何让这个测试用例工作?
@Test
public void testAdd() {
TrafficProfileExtension ext = new TrafficProfileExtension();
assertEquals("FRAME", ext.CosProfileType.FRAME);
}
答案 0 :(得分:3)
由于CosProfileType
被声明为public static
,因此它实际上是顶级类(枚举),因此您可以这样做
assertEquals("FRAME", CosProfileType.FRAME.name());
答案 1 :(得分:0)
您正在将String
与永远不会相等的Enum
进行比较。
尝试:
@Test
public void testAdd() {
TrafficProfileExtension ext = new TrafficProfileExtension();
assertEquals("FRAME", ext.CosProfileType.FRAME.toString());
}
答案 2 :(得分:0)
assertEquals("FRAME", CosProfileType.FRAME.name());
仅当字段和值都相同但在以下情况下无法使用时,它才有效:
FRAME ("frame_value")
更好地与
进行检查assertEquals("FRAME", CosProfileType.FRAME.getFieldName());