gpt4 book ai didi

java - 我如何模拟 GoogleCredential 以测试我的业务逻辑

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:46 26 4
gpt4 key购买 nike

我正在为我的一个应用程序编写单元测试,其中一部分需要模拟 google-api-java-client 的 GoogleCredential 对象。我们使用服务帐户在 SOA 中的服务之间进行身份验证。我想做这样的事情:

GoogleCredential cred = mock(GoogleCredential.class);
when(cred.refreshToken()).thenReturn(true);

但是我在“when”调用期间收到错误,指示 GoogleCredential 对象内的“lock”实例为 null。有没有办法让 Mockito 成功 stub 方法调用?

最佳答案

好吧,所以我没有意识到所讨论的方法是“最终”方法,所以我必须使用 PowerMockito 来 stub final方法。因此,由于我使用的是TestNG,所以我将类签名修改为“extends PowerMockTestCase”,并添加了类注释“@PrepareForTest(GoogleCredential.class)”...最后,在测试方法中:

PowerMockito.stub(credentials.getClass().getMethod("refreshToken")).toReturn(true);

这些更改允许模拟/ stub 该方法以进行测试。

关于java - 我如何模拟 GoogleCredential 以测试我的业务逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28115571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com