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 个人认为讲的较详细了
在此,希望此篇博客能帮助到一些人。有不足之处,有问题的话可以博客上Q我,看到就会回复
参考于https://blog.csdn.net/fxbin123/article/details/80428216
java 测试 (junit+ junit 断言 + postman)的更多相关文章
- 【java测试】Junit、Mock+代码覆盖率
原文见此处 单元测试是编写测试代码,用来检测特定的.明确的.细颗粒的功能.单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的. 单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代 ...
- robotium测试创建java文件和junit文件区别
两者本身差别不大,只是构造方式不同,我一般都用java文件来创建. 1.当有源码测试时,创建junit测试文件 ActivityInstrumentationTestCase2<T>T可以 ...
- Java测试工具使用(1)--Junit
在进行测试之前需要导入junit的两个包,分别是 junit:4.12;hamcrest-core:1.1 1.基本测试标签 @Test.@Before.@After 2.组测试 有时候多个测试文件, ...
- Java单元测试框架 JUnit
Java单元测试框架 JUnit JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于KentBeck的sUnit的xUnit家族中为最成功的一 ...
- Java单元测试之JUnit 5快速上手
前言 单元测试是软件开发中必不可少的一环,但是在平常开发中往往因为项目周期紧,工作量大而被选择忽略,这样往往导致软件问题层出不穷.线上出现的不少问题其实在有单元测试的情况下就可以及时发现和处理,因此培 ...
- Java学习:Junit简介
Junit简介 概述: JUnit 是用于编写和运行可重复的自动化测试的开源测试框架,这样可以保证我们的代码按预期工作.JUnit 可广泛用于工业和作为支架(从命令行)或IDE(如 IDEA)内单独的 ...
- JAVA自动化之Junit单元测试框架详解
一.JUnit概述&配置 1.Junit是什么? Junit是一个Java 编程语言的开源测试框架,用于编写和运行测试.官网 地址:https://junit.org/junit4/ 2.Ma ...
- JUnit之断言assert
一.简介 JUnit4.4引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,这些匹配符更接近自然语言,可读性高,更加灵活: 使用全新的断言语法:assertThat,结合Ham ...
- Maven的安装配置及初次创建项目与java单元测试工具JUnit
Maven 安装 1.把maven安装包解压到某个位置 2.配置M2_HOME环境变量指向这个位置 3.在path环境变量中添加;%M2_HOME%\bin 配置镜像 国内的阿里云镜 ...
随机推荐
- learn more ,study less(一):整体性学习策略
作者:scott young 一.整体性学习策略 整体性学习是一种学习理论.它更精确.全面地描述了我们大脑是如何工作的.各位, 你的大脑并非简单如计算机的文档储存,计算机文档的本质是一系列 0 和 1 ...
- JDK源码之Byte类分析
一 简介 byte,即字节,由8位的二进制组成.在Java中,byte类型的数据是8位带符号的二进制数,以二进制补码表示的整数 取值范围:默认值为0,最小值为-128(-2^7);最大值是127(2^ ...
- Java:多线程概述与创建方式
目录 Java:多线程概述与创建方式 进程和线程 并发与并行 多线程的优势 线程的创建和启动 继承Thread类 start()和run() 实现Runnable接口 实现Callable接口 创建方 ...
- 85道Java微服务面试题整理(助力2020面试)
微服务 面试题 1.您对微服务有何了解? 2.微服务架构有哪些优势? 3.微服务有哪些特点? 4.设计微服务的最佳实践是什么? 5.微服务架构如何运作? 6.微服务架构的优缺点是什么? 7.单片,SO ...
- 编写一个函数,输入n为偶数时,调用方法求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n
需求:编写一个函数,输入n为偶数时,调用方法求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n package com.Summer_0511.cn; impo ...
- linux安装mariadb
yum install -y mariadb-server 账号:root 密码:空 本地登录:mysql -u root -p 远程登录:mysql -h 192.168.0.1 -u root - ...
- python函数中的参数类型
python函数中的参数 动态获取函数的参数 python的函数类型详解
- pdo数据操作,3-4,0724
require 'connect.php'; $linshi = $dbh->prepare('UPDATE `category` SET `name` = :name, `alias`=:al ...
- HDU 1251 统计难题 (Trie树模板题)
题目链接:点击打开链接 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单 ...
- vue学习(三)完善模板页(bootstrap+AdminLTE)
1.配置index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...