java测试用例的编写

时间:2024-02-19 14:24:17

  做java开发不久,只是开发一些简单的需求,测试基本使用postman调用,然后交给测试人员。后来有几次部署就出错,然后se说要搞测试用例,于是就轰轰烈烈的搞起来了,然后自己也明白了测试用例代码在开发中的重要性。

  我们不能总是使用点点点来测试自己的程序,一个功能要可用,就要经过充分的测试。不能等上线完了,用户提出来,我们才发现bug,再去修补。比如你一个接口,首先要测试这个接口能不能调通,然后看一些特殊情况,也就是程序的边界问题,最简单的比如求倒数1/n,其他正常情况没有问题,但是当n=0时,就会报错,就需要在这一步发现并处理。

  写测试用例的本质上就是使用程序去调用我们的方法或者接口,判断和预期是否相同。

  如果纯手写测试用例,代码量还是挺多的,如果每个服务都要手写,就更多了。我们在做leetcode,newcoder等的时候,提交后就是机器执行测试用例的过程。可以猜想,它不可能针对每一题都写一个测试用例代码,而是复用。也就是准备一堆输入输出,然后使用模板方法去调用我们的代码,具体伪码可表示为:

boolean test(ins,func,outs){
    for  i in (0, ints.length) {
    out = func(ins[i]);
    if !outs[i].equals(out){
      print("error:"out);
      return false; 
  }
  return true;  
}    

  这就是大名鼎鼎的Junit框架的最基本原理。该例只是测试一个独立函数。

  如果这个函数还需要获取其他对象呢?那就得模拟函数的生存环境了。在springboot的框架中,就需要有spring对象容器,SpringbootTest就粉末登场了!其使用很简单,两个注解就完事了。  

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SaasAbaBaseApp.class)
public class MybatisPulsTest {
  @Test   
public test(){     测试业务 } }

  这样我们简单地完成了我们的测试用例,提高了代码的可靠性。