以下是我的代码。
String domain = service.getURL().getDomain();
为此,我试图用以下代码模拟
when(serviceMock.getURL().getDomain()).thenReturn(someDomainName);
,但它正在抛出Null指针异常。
在这里,我正在进行两种不同的调用。是否可以模拟上述方案?
您需要在这里进行多个模拟,以便"链接"工作电话,因为我不相信这个模拟框架具有自动/递归模拟功能。
模拟service.getURL()
返回模拟的URL对象,并模拟模拟URL对象的getDomain()
,以表现为需要。
//...
when(urlMock.getDomain()).thenReturn(someDomainName);
when(serviceMock.getURL()).thenReturn(urlMock);
//...
那样,
String domain = service.getURL().getDomain();
被称为,它的行为会如预期的。