单元测试直接枚举调用的最佳实践



编写单元测试时是否应该直接调用Enum?

这里有一个选项:

String expected = "here is not important text" + ObjectState.GOOD_STATE.stringValue();
assertEquals(expected, actual);

这是第二个

String expected = "here is not important text GOOD_STATE";
assertEquals(expected, actual);

第一个选项是易于维护的代码,但第二个选项是当事情变得复杂时可供人类阅读的代码。

那么,哪一个更好呢。有什么最佳实践吗?

如果文本的前导部分不重要,那么您应该只测试重要部分:

assertTrue(actual.endsWith(ObjectState.GOOD_STATE.stringValue()));

或者只是

assertTrue(actual.contains(ObjectState.GOOD_STATE.stringValue()));