模仿具有复杂类型的方法时,在Java中返回 @FirstRow int = 10 --will be set by application
,@LastRow int = 15 --will be set by application
,@FileName varchar(100) = NULL
,@CreatedDate date = NULL
,@CreatedBy varchar (50) = NULL
AS
BEGIN
INSERT INTO TABLE(TABLE_ID, FILENAME, CREATED_BY, CREATED_DATE)
VALUES (@FirstRow, @FileName, @CreatedBy, @CreatedDate)
END
null
public void sendRequest(OnlineRequest request) {
OnlineResponse response = client.handleRequest(request);
System.out.println( response);
}
答案 0 :(得分:0)
如果我的理解正确,那么您的问题是System.out.println(response);
打印null
吗?
这很可能是由于未使用您期望的client.handleRequest()
来调用request
的事实。这可能是您未提供给我们的代码中的某个错误,或者可能仅是由于OnlineRequest
没有实现equals / hash-code的事实,所以when()
永远不会之所以触发,是因为未与您在单元测试中使用的OnlineRequest
实例完全相同。
您可能希望测试是否handleRequest
与您期望的对象完全匹配。可以使用verify()
:
verify(client).handleRequest(request);
在您的单元测试中。这也取决于equals / hash-code的实现来确定request
是否为预期参数。