如何为使用新的内部函数创建对象的Java类编写junit测试?

海盗:

我有一个Java类,我必须为此编写junit测试。该类是在param上创建的,用于调用另一个方法。由于相同对象的差异引用,测试失败。

public MyClass {
     public MyResult myMethod(String a, String b, String c) {
         MyRequest m = new MyRequest();
         m.setA(a);
         m.setB(b);
         m.setC(c);
         MyResult ms = myService.getResult(m);
         log(ms);
         return ms;
    }
}

这是测试班。

@PrepareForTest({ MyService.class, MyClass.class })
public class MyClassTest {
   @InjectMocks
   MyClass myClass;

   @Mock
   MyService myService;

   @Before
   public void setUp() {
       MockitoAnnotations.initMocks(this);
   }

   @Test
   public void myMethod() {
      String a = "a", b="b", c="c";
      MyRequest m = new MyRequest();
      m.setA(a);
      m.setB(b);
      m.setC(c);

      MyResult response = mock(MyResult.class);
      when(myService.getResult(m)).thenReturn(response);

      MyResult result = myClass.myMethod(a, b, c);
      assertNotNull(result);
}
SSK:

您可以尝试以下Mockito设置。它将接受MyRequest类并执行您的代码。

Mockito.when(myService.getResult(Mockito.any(MyRequest.class))).thenReturn(new MyResult());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为使用网络连接的类编写jUnit测试

如何使用内部对象创建进行JUnit测试

如何为Thread类编写Junit测试用例

编写junit时如何为Mockito创建测试套件

如何为空函数Pointcut编写JUnit测试

创建POJO类的JUnit测试以测试对象的创建-Java

如果使用Spring和Junit 4,如何编写内部测试类?或者我还能如何构建测试?

如何为所有JUnit测试创建对象?

如何为DirectoryStream编写JUnit测试

如何为ThreadPoolExecutor编写Junit测试

如何为使用硬件资源的类编写单元测试?

如何为使用juid的uuid编写函数的测试用例?

如何为使用包装的Azure函数编写单元测试?

如何在JUnit测试中从抽象类创建对象

如何为实现ApplicationListener <ApplicationPreparedEvent>的类编写JUNIT测试用例

PHP类:在对象内部编写函数?

如何为内部类内部的方法编写测试方法?

如何为新行编写函数

如何对创建新对象的类进行单元测试

如何从Java类内部的函数访问主类对象?

如何为扫描仪编写junit测试?(读取文件)

如何为调用API的方法编写JUnit测试?

如何为线程运行方法编写junit测试用例

如何为 outputStream.write IO IOException 编写 junit 测试

如何为CDI编写Junit测试用例?

如何为 spring boot 编写 Junit 测试用例:

如何为 Salesforce Apex Aura Enabled 类编写测试类?

如何为接受类本身而不是其对象的函数编写类型签名

C#如何使用存储在构造函数变量中的类名创建新对象?