编写单元测试时是否应该直接调用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()));