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 配置镜像 国内的阿里云镜 ...
随机推荐
- Spring Cloud服务注册中心交付至kubernetes
前言 服务发现原则: 各个微服务在启动时,会将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息 服务消费者可以从服务发现组件中查询到服务提供者的网络地址,并使用该地址来远程调用服务 ...
- layui数据表格及分页
一.前端部分 html只需要放一个有id的div就行了,方便js获取渲染区域 <div id="data_grid" lay-filter="demo" ...
- chrome浏览器无法开启同步功能 request cancel
解决办法 添加代理规则*.googleapis.com
- HashMap实现详解 基于JDK1.8
HashMap实现详解 基于JDK1.8 1.数据结构 散列表:是一种根据关键码值(Key value)而直接进行访问的数据结构.采用链地址法处理冲突. HashMap采用Node<K,V> ...
- centos7下oracle11g详细的安装与建表操作
一.oracle的安装,在官网下载oracle11g R2 1.在桌面单击右键,选择“在终端中打开”,进入终端 输入命令:su 输入ROOT密码: 创建用户组oinstall:groupadd oin ...
- 使用 web3D 技术的风力发电场展示
前言 风能是一种开发中的洁净能源,它取之不尽.用之不竭.当然,建风力发电场首先应考虑气象条件和社会自然条件.近年来,我国海上和陆上风电发展迅猛.海水.陆地为我们的风力发电提供了很好地质保障.正是 ...
- BFS(广度优先搜索华容道游戏)--11--BFS--蓝桥杯卡片换位
题目描述 你玩过华容道的游戏吗?这是个类似的,但更简单的游戏.看下面 3 x 2 的格子 +---+---+---+ | A | * | * | +---+---+---+ | B | | * | + ...
- hive安装启动错误总结
错误一: Exception in thread "main" java.lang.NoClassDefFoundError: jline/console/completer/Ar ...
- 20194651—自动生成四则运算题第一版报告chris
1.需求分析: (1)自动生成四则运算算式(+ - * /),或两则运算(+ -). (2)剔除重复算式. (3)题目数量可定制. (4)相关参数可控制. (5)生成的运算题存储到外部文件中. 2 ...
- [scrapy]安装报错: Twisted安装错误
http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载whl文件 然后 pip install <whl文件名> 安装 Scrapy s ...