Java Junit tets在每次执行时从方法返回不同值的情况,并需要与枚举值进行比较

Java Junit tets在每次执行时从方法返回不同值的情况,并需要与枚举值进行比较,java,junit,Java,Junit,我的方法在每次执行时都会返回不同的值,例如,它第一次执行时返回abc,第二次执行时返回cde,所以我想用枚举值来断言这些值,所以请告诉我如何编写junit测试用例。Junit tets案例示例为 @Test public void test() { assertEquals(Enum.abc,mymethod.getvalue()); } 要assertEqauls枚举,请使用其toString()方法: @Test public void test() { assertEq

我的方法在每次执行时都会返回不同的值,例如,它第一次执行时返回abc,第二次执行时返回cde,所以我想用枚举值来断言这些值,所以请告诉我如何编写junit测试用例。Junit tets案例示例为

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

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

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

要检查枚举中是否有内容,您需要如下构造:

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;
    }

}

mymethod.getvalue()的作用是什么?它是我类中返回随机值@JensS的一个方法你想断言getvalue返回的任何值都是你的枚举值之一,对吗?是的,对@JensS