2016-05-16 38 views
0

我已经写过单个测试用例,但是我不知道我是否正确。如果你有更好的选择,请给我建议。请帮助我编写测试套件。如何编写测试套件spring mvc project

@RunWith(SpringJUnit4ClassRunner.class) 
    @ContextConfiguration(locations = { "classpath*:WEB-INF/spring/appServlet/servlet-context.xml" }) 

public class TestHelper { 

    @Mock 
    private UserDaoImpl userDaoImpl; 
    @InjectMocks 
    private Helper helper; 

    private MockMvc mockMvc; 
    String msg = "Success"; 
    int status = 200; 
    ResponseMessage message = new ResponseMessage(); 

    @Before 
    public void setup() { 
     MockitoAnnotations.initMocks(this); 
     this.mockMvc = MockMvcBuilders.standaloneSetup(helper).build(); 
    } 

@Test 
    public void testsavetoken() throws Exception { 

     Token token = new Token(); 
     token.setAccessToken("ya29.WgJ2glWhvEfcP-YE0ndPlZY3NDXGGpoK5Zp4-l2qlCKkepLjQDHKO68dfopGjvhkM_QY"); 
     token.setAuthToken("ya29.WgJ2glWhvEfcP-YE0ndPlZY3NDXGGpoK5Zp4-l2qlCKkepLjQDHKO68dfopGjvhkM_QY"); 
     token.setSessionId("ya29.WgJ2glWhvEfcP-YE0ndPlZY3NDXGGpoK5Zp4-l2qlCKkepLjQDHKO68dfopGjvhkM_QY"); 
     token.setUuid("test1"); 
     when(userDaoImpl.saveToken(any(Token.class))).thenAnswer(new Answer() { 
      @Override 
      public Token answer(InvocationOnMock invocation) throws Throwable { 
       Token token1 = (Token) invocation 
         .getArguments()[0]; 
       token1.setUuid("hhhhh"); 
       return token1; 
      } 
     }); 
     message = helper.registerToken(token); 
     assertNotNull(message); 
     Assert.assertEquals(status, message.getStatus()); 
     Assert.assertEquals(msg, message.getMessage()); 
    } 
} 

但是现在我很兴奋地编写测试套件,所以我无法添加更多的测试用例!

回答

0

退房这组漂亮的教程,涵盖Spring MVC的测试

http://www.petrikainulainen.net/spring-mvc-test-tutorial/


基本上有测试你的控制器的两个层次:

单位测试

你可以单独测试你的控制器,你不会整个测试系统。直接关注控制器登录,而不是与其他组件的交互。

Unit Testing of Spring MVC Controllers: Configuration

集成测试

您测试控制器与系统其他部分的相互作用,该系统作为一个整体进行测试。即使是孤立的单个单元测试成功,集成测试也可能显示错误。

Integration Testing of Spring MVC Applications: Configuration

+0

感谢咨询我,我也做了单元测试,因为我已经做了单独测试控制器,助手和DAO layer.but IM迷茫的时候我写的测试套件它。我需要多创建测试套件以及我可以在其上应用哪种类型的测试套件。 – shailu