java – 使用Mockito测试返回的字符串是否具有一定的长度
发布时间:2020-12-15 05:09:49 所属栏目:Java 来源:网络整理
导读:有一个方法有几个返回String的参数.在许多情况下,该方法抛出异常.当它返回时,String的内容取决于插入计算机的某个USB加密狗的参数和配置.返回的String的长度完全取决于参数. 我想知道的是如何使用Mockito(我是新手)进行单元测试.当返回的String具有一定长度
有一个方法有几个返回String的参数.在许多情况下,该方法抛出异常.当它返回时,String的内容取决于插入计算机的某个USB加密狗的参数和配置.返回的String的长度完全取决于参数.
我想知道的是如何使用Mockito(我是新手)进行单元测试.当返回的String具有一定长度时,其中一个测试方法应该成功完成. 如果您需要更多信息,请告诉我. 解决方法
有这样的界面:
interface Foo { void method(String s); } 一个想法是使用正则表达式匹配: final Foo mock = mock(Foo.class); mock.method("abc"); verify(mock).method(matches(".{3}")); 不幸的是,字符串长度没有内置的匹配器(应该有!),但是编写自定义的很容易: private static String hasSize(final int size) { return argThat(new ArgumentMatcher<String>() { @Override public boolean matches(Object argument) { return argument.toString().length() == size; } }); } 现在只需调用静态方法: verify(mock).method(hasSize(4)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |