【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
现有如下简单Service:
@Service
public class UserServiceImpl implements UserService {
@Override
public Map<String, String> findByName(String name) {
if (name.equals("admin")) {
Map<String, String> m = new HashMap<>(2);
m.put("id", "1");
m.put("name", name);
return m;
} else {
return null;
}
}
}
编写一个该Service的单元测试,测试findByName
方法是否有效:
@Autowired
private UserService userService;
@Test
public void findByName() {
Map<String,String> m = this.userService.findByName("admin");
Assert.assertEquals("用户名为admin", "admin", m.get("name"));
}
运行后,JUnit没有报错说明测试通过,即UserService
的findByName
方法可行。
此外,和在Controller中引用Service相比,在测试单元中对Service测试完毕后,数据能自动回滚,只需要在测试方法上加上@Transactional
注解
不建议使用,使用该注解会破坏测试真实性
来源:oschina
链接:https://my.oschina.net/u/1046143/blog/3152969