zoukankan      html  css  js  c++  java
  • java 测试 (junit+ junit 断言 + postman)

        实际开发中,除了开发,我想测试也是必不可少的一环吧。从简单的@Test 、main 方法测试 到 页面测试 ,断言,postman。 bug是无处不在,随时发生的事,高效率的调试、检测可以节省大量的开发时间。 思路一确定,敲代码也就花不了多少时间,可是敲完代码后的调试,检测往往会花费许多时间。 甚者除了页面调试(通过jsp,HTML页面带参过来到后台,后台返回参数给页面) 其他的一点都不会。记得去年的时候,公司做个金融产品,是跟外部的团队合作一起开发的。由于前端页面是由外部团队提供给我们的,所以有时候他们还未提供给我们页面的时候,我们就自己根据接口文档等把后台业务相关逻辑处理好。 某天上午,公司一个新来的新手跑过来问我:XXX, 代码写完啦,没有页面怎么测啊。 我当时就感到奇怪,没有页面就不能测吗? 我反问了他一句, 他请我过去帮忙教教他,我也就回了句自己去百度就没理了。那时候想着就是虽然测试不是我们的主业,有测试,可是我们开发人员自测的手段还是要有一些的吧。刚好现在已经开始写博客了,今天也有空,也就写篇相关的博客,记录记录

        阅读此篇博客前阅读本人的junit 常用注解 + junit 断言详解 + junit 运行(eclipse + IDEA)

        1. @Test , main 方法

        这个是最简单测试了,一般用于测试一些方法,实现,比如你写了个方法,要想看看能不能用,写了一个算法,想看看对不对,你就可以通过这些方法来测试。

        2. junit 常用注解 + junit 断言 Assert(请结合junit 常用注解 + junit 断言详解这篇博客 理解):

    //junit 测试(包括断言,测试集等)
    public class Test3 {
    
    
     /*   @BeforeClass
        public static void beforeClass(){
            System.out.println("beforeClass");
        }
    
    
        @Before
        public void before(){
            System.out.println("before");
        }*/
    
        @Test(timeout = 10)
        public void test1(){
            Assert.assertEquals(1,1);
    //            Assert.fail("fail");
            }
    
        @Test(expected = ArithmeticException.class)
        public void test2(){
            boolean flag = true;
            Assert.assertTrue(flag);
            Assert.assertEquals(1,1);
        }
    
    
            @Ignore
        public  void ignore(){
                System.out.println("ignore");
            }
    
    
     /*   @After
        public void after(){
            System.out.println("after");
        }
    
        @AfterClass
        public static void afterClass(){
            System.out.println("afterClass");
        }
    */
    
    }
    

      3.junit 对SpringMVC 的Controller  进行测试:(注意这是基于ssm 框架 web 工程 的spring MVC,像spring boot 集成的是不一样的):

    // 使用spring 测试集测试
    @RunWith(SpringJUnit4ClassRunner.class)
    // 配置上下文配置
    @ContextConfiguration("classpath*:spring-mvc.xml")
    public class TestController {
    
        // 模拟request,response
        private MockHttpServletRequest request;
        private MockHttpServletResponse response;
    
        // 注入loginController
        @Autowired
        private LoginController loginController ;
    
        // 执行测试方法之前初始化模拟request,response
        @Before
        public void setUp(){
            request = new MockHttpServletRequest();
            request.setCharacterEncoding("UTF-8");
            response = new MockHttpServletResponse();
        }
    
        /**
         * @Title:testLogin
         * @Description: 测试用户登录
         */
        @Test
        public void testLogin() {
            try {
                request.setParameter("userName", "admin");
                request.setParameter("password", "2");
                Assert.assertEquals("login",loginController.loginTest(request,response)) ;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    
    }
    

      4. postman  自测 (postman 一般是用于自测 restful 类型的接口, 用于自测前后端对接调用的接口等)(这是postman的基础功能 ): 请参考 https://blog.csdn.net/fxbin123/article/details/80428216  个人认为讲的较详细了

      参考于https://blog.csdn.net/fxbin123/article/details/80428216 

  • 相关阅读:
    CentOS6.0/RedHat Server 6.4安装配置过程 详细图解!
    关于Haproxy安装和配置:负载配置【haproxy.cfg】问题记录
    菜鸟学习Struts——bean标签库
    2013——2014总结
    高效程序员的45个习惯读书 ——敏捷开发修炼之道笔记之态度决定一切
    Hive深入浅出
    Java从入门到精通——调错篇之SVN 出现 Loced错误
    考试系统优化——准备工作
    深入解析:分布式系统的事务处理经典问题及模型(转载分享)
    黑客攻击 UVa11825
  • 原文地址:https://www.cnblogs.com/jingjiren/p/10338855.html
Copyright © 2011-2022 走看看