Java 单元测试 JUnit4 快速入门
JUnit最佳实践
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public class CardServiceTest { /** * 最佳实践: * 1. 测试方法上必须使用@Test进行修饰 * 2. 测试方法必须使用public void 进行修改,不能带任何的参数 * 3. 新建一个源代码目录存放我们的测试代码,测试类的包和被测试的一致 * 4. 测试单元中每个方法必须独立测试,不能有任何依赖 * 5. 测试类使用Test作为后缀,测试方法使用Test作为后缀(看个人喜好) */ @Test public void addTest(){ // 使用断言 assertEquals(6, new CardService().add(3,3)); } } |
运行结果说明
JUnit4中的测试套件
|
1
2
3
4
5
6
7
8
9
10
|
@RunWith(Suite.class)@Suite.SuiteClasses({ EquipmentServiceTest.class, UserServiceTest.class })public class CardServiceTest { /** * 测试套件就是组织测试类一起运行 * 1. 写一个作为测试套件的入口类,这个类里不包含其他方法 * 2. 更改测试类的运行器Suite.class * 3. 将要测试的类作为数组传入到Suite.SuiteClass({}) */} |
JUnit4的参数化设置
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
@RunWith(Parameterized.class)public class CardServiceTest { /** * 1. 更改默认的测试运行器为@RunWith(Parameterized.class) * 2. 为每一列测试数据创建一个实例变量。 * 3. 声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰,它返回一个对象的集合(数组)来作为测试数据集合。 * 4. 为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值 */ int expected = 0; int input1 = 0; int input2 = 0; @Parameters public static Collection<Object[]> t() { return Arrays.asList(new Object[][] { { 3, 1, 2 }, { 4, 2, 2 } }); } public CardServiceTest(int expected, int input1, int input2) { this.expected = expected; this.input1 = input1; this.input2 = input2; } @Test public void addTest() { // 会运行两次,以下的变量分别对应的是上面@Parameters声明的数值{ 3, 1, 2 }和 { 4, 2, 2 }, assertEquals(expected, new CardService().add(input1, input2)); }} |
参考:慕课网
Java 单元测试 JUnit4 快速入门的更多相关文章
- Java程序员快速入门Go语言
这篇文章帮助Java程序员快速入门Go语言. 转载至 开源中国社区. http://www.oschina.net 本文将以一个有代表性的例子为开始,以此让Java程序员对Go语言有个初步认识,随后将 ...
- 原!!关于java 单元测试Junit4和Mock的一些总结
最近项目有在写java代码的单元测试,然后在思考一个问题,为什么要写单元测试??单元测试写了有什么用??百度了一圈,如下: 软件质量最简单.最有效的保证: 是目标代码最清晰.最有效的文档: 可以优化目 ...
- 【Java】Spring快速入门(一)
Spring介绍 Spring可以轻松创建Java企业应用程序.它提供了在企业环境中使用Java语言所需的一切,支持Groovy和Kotlin作为JVM上的替代语言,并可根据应用程序的需要灵活地创建多 ...
- Java 高级 --- 多线程快速入门
这世上有三样东西是别人抢不走的:一是吃进胃里的食物,二是藏在心中的梦想,三是读进大脑的书 多线程快速入门 1.线程与进程区别 每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程.线程是一组 ...
- 从net到java:MyBatis快速入门
第一:这不是net与java的对比,只是我学习java相关知识梳理的笔记. 第二:这也没有否认net,只是现在的工作需要自己会java. 第三:这不深入.只是我看了些官网和网上的视频,算是入门的总结. ...
- JUnit4快速入门
JUnit最佳实践 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class CardServiceTest { /** * 最佳 ...
- Java基础组件快速入门
最近需要上线很多新的JAVA项目,然而很多JAVA的相关库都不太熟悉,项目实现起来遇到了不小阻力,熬了好几天夜.现在手头的工作基本完成了,因此打算好好来归纳下java的相关工具库,将来需要借助你们,好 ...
- Java核心编程快速入门
Java核心编程部分的基础学习内容就不一一介绍了,本文的重点是JAVA中相对复杂的一些概念,主体内容如下图所示. 反射reflect是理解Java语言工作原理的基础,Java编译器首先需要将我们编写的 ...
- 【Java】Junit快速入门
Junit介绍 JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit ...
随机推荐
- 实验吧_拐弯抹角(url伪静态)&Forms
拐弯抹角 先贴代码 <?php // code by SEC@USTC echo '<html><head><meta http-equiv="chars ...
- AtCoder Grand Contest 002 D - Stamp Rally
Description We have an undirected graph with N vertices and M edges. The vertices are numbered 1 thr ...
- hihocoder 1035 : 自驾旅行 III
描述 给定一棵含有 n 个结点的树,结点从 1 标号.你从 1 号结点驾车出发,希望遍历一些关键结点(访问到就好,不需要按照这些关键结点的输入顺序).每条边有两个权值,c0, c1 分别表示步行和驾车 ...
- [bzoj4245][ONTAK2015]OR-XOR
来自FallDream的博客,未经允许,请勿转载,谢谢. 给定一个长度为n的序列a[1],a[2],...,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费 ...
- of_alias_get_id 函数与设备树中aliases节点的关系【转】
转自:https://blog.csdn.net/qq_30145093/article/details/78053823?locationNum=10&fps=1 转自http://www. ...
- tensorflow deepmath:基于深度学习的自动化数学定理证明
Deepmath Deepmath项目旨在改进使用深度学习和其他机器学习技术的自动化定理证明. Deepmath是Google研究与几所大学之间的合作. 免责声明: 该存储库中的源代码不是Google ...
- css3中-moz、-ms、-webkit各什么意思
1.-moz代表firefox浏览器私有属性 2.-ms代表ie浏览器私有属性 3.-webkit代表safari.chrome私有属性 这些是为了兼容老版本的写法,比较新版本的浏览器都支持直接写:b ...
- 初体验GCP,【福利300$试用金】
1.https://cloud.google.com/free/ ,填写相应信息.需要信用卡,预扣1美元. 2.一波信息填写,成功. 3.激活终端 4.创建一个Python项目,选择部署地点. 5.部 ...
- input中v-model和value不能同时调用时解决方案
<input type="text" v-model="keyWord" value="请输入地名地址" > 当使用如上代码时, ...
- 树莓派3B(2)- 配置多个wifi,自动寻找可用网络
一.背景 在上篇<Raspberry Pi 3B 安装系统并联网>中,树莓派使用wifi连接,但是把树莓派带到公司,树莓派就连不了公司的wifi,要是支持连接多个wifi就好了,在此整理分 ...