我有一个如下所示的Account t细节
构造函数。
private final AccountDetailsRestClient accountDetailsRestClient;
private final ConstantMapService constantMapService;
private CalculationMap calculationMap;
public AccountDetails(final AccountDetailsRestClient accountDetailsRestClient, final ConstantMapService constantMapService) {
this.accountDetailsRestClient = accountDetailsRestClient;
this.constantMapService = constantMapService;
initializeConstantsData();
}
private void initializeConstantsData() {
if (this.calculationMap == null) {
this.calculationMap = constantMapService.getMap(java.time.LocalDate.now());
}
}
使用Mockito,我无法初始化所有3个对象accountDetailsRestClient、constantMapService和calculationMap。如果accountDetailsRestClient不为null,则constantMapService为null,反之亦然。
Mockito测试类:
@RunWith(MockitoJUnitRunner.class)
public class AccountDetailsTest {
@Mock
private AccountDetailsRestClient accountDetailsRestClient;
@Mock(answer = RETURNS_DEEP_STUBS)
private CalculationMap calculationMap;
@InjectMocks
private final AccountDetails sut = new AccountDetailsTestImpl(new ConstantMapServiceMock());
@Test
public void testMethod() {
//left it blank to check constructor issue first
}
class AccountDetailsTestImpl extends AccountDetails {
AccountDetailsTestImpl(final ConstantMapService constantMapService) {
super(accountDetailsRestClient, constantMapService);
}
}
}
但是accountDetailsRestClient现在在构造函数中为null。
我如何在不使用PowerMock的情况下解决这个问题。要么通过更改类中的代码,要么通过更改mockito测试类?
不要使用@InjectMocks
简单地用手做事,就像你几乎已经做到的那样:
AccountDetails sut = new AccountDetails(mockDependency, realObject);
我有以下课程布局: 我正在为服务创建一个单元测试,但我想将ServiceHelper用作一个“活动”类,但要模拟ServiceHelper中的构造函数参数。有没有办法通过Mockito实现这一点?
我创建了一个Author对象,用于构造函数的方法签名:public Book但是,我所做的赋值要求将Author(实例变量)更改为。当然,现在我以前的构造函数不行了。这是密码 如果我上传的方式不令人满意,我对任何不便表示歉意。我还没有学会使用堆栈溢出。 谢谢!
我试图使一个用户类和使用类来处理登录,但从某种原因我的用户类构造函数是读取我的mysqli对象作为一个字符串 这是我的密码 Class.php mysql.php checklogin.php 它给了我这个错误 可捕获的致命错误:在第13行的C:\wamp\www\class.php中,类mysqli的对象无法转换为字符串 我要把头发拔出来了,有什么想法吗?
类 类是对某一事物的抽象描述,具体地讲,类是C++中的一种构造的数据类型。它即可包含描述事物的数据,又可包含处理这些数据的函数,类在程序运行时是被用作样板来建立对象的。所以要建立对象,首先必须定义类。 定义类 定义一个类的一般格式为: class 类名{ private: 成员表1; public: 成员表2; protected:
映射对构造函数没有限制或要求 (__init__ )类的方法。您可以自由地为您想要的函数要求任何参数,为ORM未知的实例分配属性,并且通常在编写Python类的构造函数时做您通常会做的任何其他事情。 sqlAlchemy ORM不调用 __init__ 从数据库行重新创建对象时。ORM的过程有点类似于Python标准库的 pickle 模块,调用低级 __new__ 方法,然后在实例上悄悄地恢复属
问题内容: 大家晚上好。 当尝试将一个对象传递给另一个对象构造函数时,我似乎遇到了一个奇怪的问题,该对象的构造函数也依赖于要传递给它的对象。 例如,使用以下示例: 但是,在构造ToolBar时,它将返回NullPointerException。当然,这是因为尚未构建webPanel并且需要它。 减速和初始化都必须保留在同一类(称为BuildUI)中,因为这是我设置属性的地方。(对于ToolBar创