JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@AfterClass、@Ignore
JUnit 4 开始使用 Java 5 中的注解(annotation),常用的几个 annotation 介绍:
@BeforeClass:针对所有测试,只执行一次,且必须为static void
@Before:初始化方法
@Test:测试方法,在这里可以测试期望异常和超时时间
@After:释放资源
@AfterClass:针对所有测试,只执行一次,且必须为static void
@Ignore:忽略的测试方法
一个单元测试用例执行顺序为:
@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
每一个测试方法的调用顺序为:
@Before –> @Test –> @After
以下是测试执行顺序代码:
- public class CalculatorTest {
- private static Calculator calculator = new Calculator();
- @BeforeClass
- public static void beforeClass1(){
- System.out.println("@beforeClass1");
- }
- @BeforeClass
- public static void beforeClass2(){
- System.out.println("@beforeClass2");
- }
- @Before
- public void before1() throws Exception {
- System.out.println("@before1");
- }
- @Before
- public void before2() throws Exception {
- System.out.println("@before2");
- }
- @Test
- public void testAdd() {
- System.out.println(1);
- }
- @Test
- public void testSubstract() {
- System.out.println(2);
- }
- @Ignore("Multiply() Not yet implemented")
- @Test
- public void testMultiply() {
- System.out.println(3);
- fail("Not yet implemented");
- }
- @Test
- public void testDivide() {
- System.out.println(4);
- }
- @Test(timeout = 1000)
- public void testSquareRoot() {
- System.out.println(5);
- }
- @Test
- //@Test(expected = ArithmeticException.class)
- public void divideByZero() {
- System.out.println(6);
- }
- @After
- public void after1(){
- System.out.println("@after1");
- }
- @After
- public void after2(){
- System.out.println("@after2");
- }
- @AfterClass
- public static void afterClass1(){
- System.out.println("@afterClass1");
- }
- @AfterClass
- public static void afterClass2(){
- System.out.println("@afterClass2");
- }
- }
执行结果: @beforeClass2
@beforeClass1
@before2
@before1
1
@after1
@after2
@before2
@before1
2
@after1
@after2
@before2
@before1
4
@after1
@after2
@before2
@before1
5
@after1
@after2
@before2
@before1
6
@after1
@after2
@afterClass1
@afterClass2
JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@AfterClass、@Ignore的更多相关文章
- Android L(5.0)源码之图形与图像处理之动画——Frame、Tween、属性动画、SurfaceView
工作中暂时还没涉及到,暂时先不总结
- 那些年,我们开发的接口之:QQ登录(OAuth2.0)
那些年,我们开发的接口之:QQ登录(OAuth2.0) 吴剑 2013-06-14 原创文章,转载必须注明出处:http://www.cnblogs.com/wu-jian 前言 开发这些年,做过很多 ...
- QQ登录(OAuth2.0)
QQ登录(OAuth2.0) 那些年,我们开发的接口之:QQ登录(OAuth2.0) 吴剑 2013-06-14 原创文章,转载必须注明出处:http://www.cnblogs.com/wujian ...
- 借助微软提供的url重写类库URLRewriter.dll(1.0)实现程序自动二级域名,域名需要泛解析
二级域名和系统中会员帐号自动关联,也就是系统中注册一个会员,会员自动就可以通过二级域名来访问,比如我的帐号是zhangsan,我在morecoder.com注册后,访问zhangsan.morecod ...
- axios解决跨域问题(vue-cli3.0)
一.什么是跨域 1.跨域 指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 2.同源策略 是指协议,域名,端口都要相同,其中有一个不同都 ...
- window 远程在Linux(centOS7.0)上安装JDK以及配置环境变量
本人是在windows 7 上安装了虚拟机,虚拟机安装的是linux(centOS7.0)系统现在在Windows 上安装SecureCRT 远程虚拟机的linux系统,安装JDK以及配置环境变量. ...
- Springboot2.0(Spring5.0)中个性化配置项目上的细节差异
在一般的项目中,如果Spring Boot提供的Sping MVC不符合要求,则可以通过一个配置类(@Configuration)加上@EnableWebMvc注解来实现完全自己控制的MVC配置.但此 ...
- C++ 的那些坑 (Day 0)
C++ 的那些坑 (Day 0) 永远的for循环 其实这里要说的并不是for循环本身还是其中的计数变量的类型的选择. std::string s = "abcd" for (st ...
- sass之mixin的全局引入(vue3.0)
sass之mixin的全局引入(vue3.0) 1.scss文件(mixin.scss) /* 渐变 */ @mixin gradual($color, $color1){ background: $ ...
随机推荐
- C# 反射(GetType) 获取动态Json对象属性值的方法
之前在开发一个程序,希望能够通过属性名称读取出属性值,但是由于那时候不熟悉反射,所以并没有找到合适的方法,做了不少的重复性工作啊! 然后今天我再上网找了找,被我找到了,跟大家分享一下. 其实原理并不复 ...
- windows版mysql配置--my.ini
完整配置如下: # power by phpStudy 2014 www.phpStudy.net 官网下载最新版 [client] port=3306 [mysql] [mysqld] port=3 ...
- 使用 CGContextRef 进行简单内容绘制
摘要 : CGContextRef 功能强大,我们借助它可以画各种图形.这里所举例子只是简单内容绘制,冰山一角,对此感兴趣的朋友可以举一反三,实现各种酷炫效果. 效果如下: KMDrawView.h ...
- VS2013启动浏览器链接(BrowserLink),导致页面脚本错误和页面加载变慢
页面脚本出错场景:
- 在C++中实现不可继承的类
逛下bbs,“在C++中实现不可继承的类”,瞒有意思的. class NoInherite { friend class Seal; private: NoInherite(void) {} ~NoI ...
- Android布局学习——android:gravity和android:layout_gravity的区别
[Android布局学习系列] 1.Android 布局学习之——Layout(布局)详解一 2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数) 3.And ...
- Android开发中常用的库总结(持续更新)
这篇文章用来收集Android开发中常用的库,都是实际使用过的.持续更新... 1.消息提示的小红点 微信,微博消息提示的小红点. 开源库地址:https://github.com/stefanjau ...
- windows 下查看端口占用情况
windows下面查看端口占用情况: netstat -ano|findstr "8888" TCP 127.0.0.1:8888 0.0.0.0:0 LISTENING 6876 ...
- redis 的set数据类型
相关命令 1.SADD SADD key-name item1 [item 2…] 将一个或多个成员元素加入到集合中 2.SREM SMEMBERS key-name item1 [item 2…] ...
- Linux下的ssh远程访问
准备工作:首先需要在windows系统中安装虚拟机,并在虚拟机中安装好linux操作系统,这里安装的是vmware player虚拟机和ubuntu版本的操作系统.关于该部分的安装在作者的其他经验中有 ...