- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 @Mock
编写测试和 @Captor
注释。但是,对象没有被创建,所以我得到 NullPointerExceptions
.
考试:
@RunWith(MockitoJUnitRunner.class)
public class ServiceTest {
@Mock
HttpClient.Builder builder;
@Mock
HttpClient client;
@Captor
ArgumentCaptor<HttpRequest> request;
MockedStatic<HttpClient> staticClient;
public MockedStatic<HttpClient> server() {
// Set up mock server
staticClient= Mockito.mockStatic(HttpClient.class);
staticClient.when(HttpClient::newBuilder).thenReturn(builder);
when(builder.build()).thenReturn(client);
return staticClient;
}
@Test
public void shouldCallService() throws IOException, InterruptedException {
try (MockedStatic<HttpClient> ignored = server()) {
HttpResponse response = mock(HttpResponse.class);
when(client.send(any(), any())).thenReturn(response);
when(response.body()).thenReturn("response");
TestService service = new TestService();
service.callService();
verify(client).send(captor.capture(), HttpResponse.BodyHandlers.ofString());
assertThat(captor.getValue().uri().getPath(), equalTo("localhost:8081"));
}
}
我的依赖项是:
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.mockito:mockito-core:3.5.11'
testImplementation "org.mockito:mockito-inline"
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.mockito', module: 'mockito-core'
}
最佳答案
我怀疑您可能正在使用 JUnit 5 运行您的测试,在这种情况下 @RunWith
注释不起作用。尝试使用 @ExtendWith(MockitoExtension.class)
反而。
关于java - @Captor 和 @Mock 不使用 MockitoJUnitRunner 创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64077805/
我正在处理一些不能很好地处理异常的旧代码。我正在编写的一个测试对引发异常的方法进行 stub ,我需要确认该异常是正确的。我可以看到测试此异常的唯一方法是在记录参数时捕获参数并比较字符串。 当我运行这
我需要在 Mockito 中验证一个具有多个参数的方法,但只需要捕获一个参数,其他我只需要一个简单的匹配器。这可能吗? 例如,如果我有: @Mock private Map mockedMap; ..
我正在尝试使用 @Mock 编写测试和 @Captor注释。但是,对象没有被创建,所以我得到 NullPointerExceptions . 考试: @RunWith(MockitoJUnitRunn
我正在使用 ArgumentCaptor与 @Captor像这样在 Kotlin 中注释 @Captor private lateinit var captor: ArgumentCaptor @Mo
我们使用 gopkg.in/mgo.v2/bson 与 mongo 对话,它的 API 填充传递的结构而不是返回结果,例如: func (p *Pipe) One(result interface{}
我试图熟悉 Mockito Captor,但我同时收到 NullPointerException 和 InvalidUseOfMatchersException。我有一种感觉,我做错了什么和/或错误地
我正在使用 Spock 和 Mockito 框架编写单元测试,并且偶然发现了 Mockito 中的一个我无法优雅解决的限制。 以下代码解析 .csv 文件并返回 TradedInstrument 对象
给定这个目标代码: ... sessionWrapper.execute(arenaCreateCql, arenaGuid, arenaName, displayName, authorName,
我是一名优秀的程序员,十分优秀!