我正在尝试在 Springboot 2.1.8 和 Junit5 下使用 WebTestClient 编写一些测试
它总是返回 < 401 UNAUTHORIZED Unauthorized,但实际上它根本没有进入控制器或服务层。它可能与弹簧安全有关,只是我的猜测。
该项目是使用 JHipster 生成的。这是build.gradle
-----------------UimApiServiceImplTest.java-------------------
...
@ExtendWith(SpringExtension.class)
@WebFluxTest(controllers = UserGuidController.class)
@ContextConfiguration(classes = {UserGuidController.class, UimApiServiceImpl.class})
public class UimApiServiceImplTest {
@Autowired
private WebTestClient webTestClient;
@Test
public void testGetGuidByEmail() {
webTestClient.get()
.uri("/uimapi/getguid/{email}", "someone@xxxxx.com")
.accept(MediaType.APPLICATION_JSON_UTF8)
.exchange()
.expectStatus().isOk();
}
}
Run Code Online (Sandbox Code Playgroud)
--------------------UserGuidController.java--------------------
...
@RestController
@RequestMapping("/uimapi")
public class UserGuidController {
@Autowired
private UimApiServiceImpl uimApiService;
private static final Logger logger = LoggerFactory.getLogger(UserGuidController.class);
@GetMapping("/getguid/{email}")
public String getUserGuid(@PathVariable String email) {
return uimApiService.getUserGuid(email);
}
}
Run Code Online (Sandbox Code Playgroud)