- 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/
我正在尝试使用 @InjectMocks 和 @Mock 进行单元测试。 @RunWith(MockitoJUnitRunner.class) public class ProblemDefiniti
这个问题在这里已经有了答案: Initialising mock objects - Mockito (8 个答案) 关闭 6 年前。 我正在使用 Junit 4.8.2。当我使用 @RunWith
这个问题在这里已经有了答案: @RunWith(MockitoJUnitRunner.class) vs MockitoAnnotations.initMocks(this) (2 个答案) 关闭
我编写了一个 Spring Boot 应用程序,我能够使用 MockMvc 访问和测试 Controller。问题是在测试期间没有强制执行安全性,我可以在没有用户的情况下访问 Controller。
我尝试在 Mockito 的单元测试中使用游标,但 getCount() 方法始终返回 0,即使我添加了一行。有人可以帮助我吗? final Cursor cursor = new MatrixCur
我正在尝试使用 @Mock 编写测试和 @Captor注释。但是,对象没有被创建,所以我得到 NullPointerExceptions . 考试: @RunWith(MockitoJUnitRunn
我需要测试parserService。不幸的是,它表明 RecordDao 对象应该是 Autowired 的,但事实并非如此,在运行测试时它仍然是 null 。如何解决? 解析器 Controlle
当我使用 MockitoJunitRunner 测试以下函数时,它按预期工作正常。但是当我使用 PowerMockRunner 运行相同的测试时,出现以下异常: org.jasypt.exceptio
我的测试正在使用 @RunWith(MockitoJUnitRunner.class) annotation,在 Java 6 中运行良好,但升级到 Java 8 后,测试开始失败,并出现以下异常。这
我们正在使用 Testng 6.8.8 + Mockito 1.10.19,显然我们不能使用 MockitoJUnitRunner,但验证框架仍然有效!在这个thread我读到它不应该是这样的。有人可
下面的例子是正确的。问题是我确实需要 @InjectMocks 注释。当我将 SpringJUnit4ClassRunner.class 替换为 MockitoJUnitRunner.class 时,
我一直在尝试在测试类中使用配置属性,但找不到方法,因为我总是遇到 NullPointerException。 application.yaml affix: lover: 'interests'
我对 SpringJUnit4ClassRunner 的用法有疑问。对于纯 Junit 或单元测试用例,我们应该使用基于 Spring 的注释,例如 @Autowired 和 SpringJUnit4
在编写新的 jUnit4 测试时,我想知道是使用 @RunWith(MockitoJUnitRunner.class) 还是 MockitoAnnotations.initMocks(this)。 我
我正在启动一个新的 Dropwizard 项目,但无法使用 MockitoJUnitRunner 运行测试。 我能够运行主应用程序。所以,我猜测这不是 JRE/JDK 问题。 以下是我的项目中的一些文
我使用 @RunWith(MockitoJUnitRunner.class) 与mockito 进行 junit 测试。但现在我正在使用 spring boot 应用程序并尝试使用 @RunWith(
在通常使用 @Mock 和 @InjectMocks 注释的模拟中,被测类应该使用 @RunWith(MockitoJUnitRunner.class)。 @RunWith(MockitoJUnitR
@RunWith(MockitoJUnitRunner.class) 和 @RunWith(SpringJUnit4ClassRunner.class) 有什么区别?什么时候合适使用它? 最佳答案 M
我刚刚将我的项目从 Spring Boot 2.1 迁移到 2.3,因此现在有了 JUnit 5(带有复古)(还包括版本 3.3.3 的 mockito-core 和 mockito-junit-ju
我是一名优秀的程序员,十分优秀!