首页 > 解决方案 > 如何检查在被测方法中创建的对象的值?

问题描述

我正在测试一种服务层方法,它创建一个新对象并使用该对象调用另一个服务。

在将一些值设置到创建的对象中的方法中涉及一些处理。

如何验证对象中是否设置了正确的值?

public class A{
    void method aMethod(){
        //some json parsing... a = someValue;
        Xobject xobject = new Xobject();
        xobject.setValue(a);

        someOtherService.someVoidMethod(xobject);
    }
}

想检查 xobject 的值。

标签: javaunit-testingjunitmockitopowermock

解决方案


作为 Jocke 提出的解决方案的替代方案,您可以执行以下操作: 创建一个xobject为您创建的辅助函数:

public class A {
    Xobject makeXobjectFromJson(){
        //some json parsing... a = someValue;
        Xobject xobject = new Xobject();
        xobject.setValue(a);
        return xobject;
    }
    void method aMethod(){
        Xobject xobject = makeXobjectFromJson();
        someOtherService.someVoidMethod(xobject);
    }
}

测试辅助函数允许您使用单元测试来测试代码的算法部分,甚至可能不需要模拟任何东西。someOtherService然后可以在集成测试中测试与的交互。


推荐阅读