java – 指定在Mockito doReturn方法中传递给方法的特定枚举
发布时间:2020-12-15 04:41:22 所属栏目:Java 来源:网络整理
导读:我有一个junit测试,我在一个类中有一个对象被模拟.让我们用名为mocker的@Mock of MyManager来调用Mocker类. 示例类: public class Mocker { private MyManager myManager; public void myMethod() { String x = "test"; final String result1 = this.myMana
我有一个junit测试,我在一个类中有一个对象被模拟.让我们用名为mocker的@Mock of MyManager来调用Mocker类.
示例类: public class Mocker { private MyManager myManager; public void myMethod() { String x = "test"; final String result1 = this.myManager.execute(dummyEnum.ENUM_A,x); final String result2 = this.myManager.execute(dummyEnum.ENUM_B,x); if(result1 == true) { //Do something } if(result2 == true) { //Do something else } } public enum dummyEnum { ENUM_A,ENUM_B } } 我当前的junit测试使用以下内容:doReturn(null).when(mocker).execute(any(dummyEnum.class),anyObject()); 但是,对于result1和amp;都会返回null.结果2.如何指定当使用ENUM_A执行execute()时它返回一个Hello的字符串和带有ENUM_B的execute()返回一个Goodbye字符串 我已经看过answer here,但我不想只说出该类的任何实例,我想从该类中指定某个枚举. 解决方法
使用Matchers类的eq()方法(代表equals).
Mockito.doReturn("Hello").when(mock).execute(Matchers.eq(dummyEnum.ENUM_A),anyObject()); Mockito.doReturn("Goodbye").when(mock).execute(Matchers.eq(dummyEnum.ENUM_B),anyObject()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用MAT(Memory Analyzer Tool)工具分析dump文件--转
- java – 为什么JUnit测试方法需要为void?
- Selenium UI 举例 getCssValue
- jpa – java.lang.IllegalArgumentException:您试图使用查
- java – 如果我们不生成窗口,为什么Timer不起作用?
- Java对List进行排序的两种实现方法
- 使用JVisualVM从Java中的远程应用程序获取堆转储
- java _io_转换流输入,读取网页源代码和键盘输入
- Java数组3种创建方式
- Java字符串的比较(equals()、equalsIgnoreCase()和compare