相关疑难解决方法(0)

使用Spring进行单元测试与集成测试

我正在开发一个Spring MVC项目,我对源代码树中的所有各种组件进行了单元测试.

例如,如果我有一个HomeController需要LoginService注入的控制器,那么在我的单元测试中,HomeControllerTest我只是将对象实例化为正常(在Spring之外)并注入属性:

protected void setUp() throws Exception {
    super.setUp();
    //...
    controller = new HomeController();
    controller.setLoginService( new SimpleLoginService() );
    //...
}
Run Code Online (Sandbox Code Playgroud)

这对于将每个组件作为一个独立的单元进行测试非常有用 - 除了我在项目中有几十个类,在编写一个类并为它编写成功的单元测试后,我一直忘记更新我的Spring MVC上下文文件部署的应用程序中的实际布线.我发现当我将项目部署到Tomcat并从非有线bean中找到一堆NullPointers时,我忘了更新上下文文件.

所以,这是我的问题:

  1. 这是我的第一个Spring项目 - 正如我所做的那样,为单个bean创建单元测试是正常的,然后创建第二套测试(集成测试)来测试一切是否与实际应用程序上下文一致?这是否有既定的最佳实践?

  2. 另外,如何将单元测试与集成测试分开?我有所有的源代码src,单元测试test- 应该有第二个测试文件夹(如test-integration)用于集成测试用例?

由于这是我的第一个春季项目,我很好奇其他人通常会做这类事情 - 而不是重新发明轮子我宁愿问社区其他人.

java tdd junit integration-testing spring-mvc

38
推荐指数
2
解决办法
1万
查看次数

标签 统计

integration-testing ×1

java ×1

junit ×1

spring-mvc ×1

tdd ×1