提问人:chan 提问时间:11/16/2023 最后编辑:user207421chan 更新时间:11/16/2023 访问量:21
Spring Boot 反应式 Web 应用程序中控制器的测试用例出现错误
Test case for my controller in the spring boot reactive web application gives errors
问:
软件包 com.example.demo4.controller;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.reactive.server.WebTestClient;
@RunWith(SpringRunner.class)
@WebFluxTest(UserController.class) // Specify the controller class to test
public class UserControllerTest {
@Autowired
private WebTestClient webTestClient;
@Test
public void getAllUsers() {
webTestClient.get().uri("/api/users").exchange()
.expectStatus().isOk();
}
}
这是我的用户控制器测试。我找不到这里有什么问题?
09:48:11.650 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [com.example.demo2.controller.UserControllerTest]: UserControllerTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
它给出了这个错误
我想运行测试用例而不会出现任何错误。
答:
0赞
Daksharaj kamal
11/16/2023
#1
Spring Tests 中有一个常见的做法,尤其是在使用注解(如 或)进行测试时,为测试类提供空配置,以便您可以运行测试而不会出现任何错误。
因此,您需要创建一个 Configuration 类并用注解标记它,您可以将其留空@WebFluxTest
@DataJpaTest
@Configuration
@Configuration
public class SampleConfig{
// You can keep it blank
}
创建此配置类后,需要将其添加到 Test 类中,以便满足要求@Include
@RunWith(SpringRunner.class)
@WebFluxTest(UserController.class)
@Import(TestConfig.class)
public class UserControllerTest {
// Rest of your code
}
评论