我试图学习如何在spring中使用Java8进行单元测试/mockito测试,但遇到了一些问题。我试图测试我的方法findUserById,但它一直运行false。可选类型问题是一个问题,但可能已经解决了这些问题。然而,它仍然是错误的。我的其他测试都是有效的,所以这只是一个顽固的测试。我将感谢你的帮助。
User Controller :
@GetMapping("/{id}")
public ResponseEntity<User> findUserById(@PathVariable Integer id){
return ResponseEntity.ok(userServiceImp.findUserById(id));
}
UserApplictionTester :
@Autowired
private Service service;
@MockBean
private Repository repo;
@Test
public void exampleTest() {
User expectedUser = new User(3, "example@gmail.com", "password1", "exampleName", "USER");
User testUser = new User();
testUser.setId(3);
when(repo.findById(any())).thenReturn(Optional.of(testUser));
assertEquals(expectedUser, service.findUserById(testUser.getId()));
}
我相信你的Controller.findUserById
方法,你的意思是ResponserEntity.of(...)
而不是ResponserEntity.ok(...),
因为UserService.findUserById
返回Optimed
您正在断言两种不同的类型。预期用户
类型为User
,而service.findUserById
返回的实际用户是可选的
Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。
英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其
我对SpringBoot非常陌生,并试图学习如何在SpringBoot中进行测试。我读到了@SpringBootTest注释,它有助于集成测试应用程序。我想知道在SpringBoot中应该如何进行单元测试。单元测试是否需要指定@SpringBootTest注释,还是仅用于集成测试?是否有用于单元测试的特定注释? 任何指点都将不胜感激。提前谢谢! 编辑:SpringBootTest注释是否仅用于集成
我已经开始学习OAuth2 spring安全从一个星期,所以对不起,如果问题是容易的。在我开始研究之前,这个话题对我来说似乎很容易。我将在应用程序中为Restendpoint编写测试。为了做到这一点,我将为我的资源类编写测试。但我的应用程序使用的是OAuth2。 第一个想法是配置单独的授权服务器,扩展AuthorizationServerConfigurerAdapter用于此测试。我已经将Cli
问题内容: 任何人都可以帮助我找出以下异常的解决方案,我想我只是不太了解事务传播机制,这阻碍了我理解下面显示的异常消息的真实含义,所以请帮助我理解整个问题事情,的确非常感谢! 这是导致上述异常的代码: 这是BaseTest: 问题答案: AbstractTransactionalTestNGSpringContextTests将所有测试方法包装在事务中。Spring批处理作业存储库不喜欢与他人共享