junit和testng对BeforeClass和AfterClass注解的不同要求
来源:互联网 发布:大富豪棋牌源码 教程 编辑:程序博客网 时间:2024/06/05 14:51
如果某一个方法在单元测试中被beforeclass和afterclass标注,那么,如果该单元测试是给予junit框架的,那么两个方法必须声明为静态的方法,否则编译失败。但是如果是给予testng单元测试框架时,没有该限制。具体的实验可以参考下面的代码。
单例模式的实现类
package pattern.design;public class Singleton { //定义私有的构造函数 private Singleton(){ } //定义一个私有的静态化的Singleton实例 private static Singleton singleton=null; //定义一个公有化的getInstance方法 public static Singleton getInstance(){ if(null==singleton){ singleton=new Singleton(); } return singleton; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //验证收否只生产了一个实例 Singleton single1=Singleton.getInstance(); Singleton single2=Singleton.getInstance(); System.out.println(single1==single2); }}
给予junit的单例模式的测试代码
package pattern.design;import junit.framework.Assert;import org.junit.AfterClass;import org.junit.BeforeClass;import org.junit.Test;public class TestSingleton {@BeforeClasspublic static void beforeClass() {System.out.println("beforeClass is executed");}@SuppressWarnings("deprecation")@Testpublic void testSingleton() {System.out.println("testSingleton is executed"); Assert.assertEquals(Singleton.getInstance(), Singleton.getInstance()); Assert.assertEquals("Assert Object is equals", Singleton.getInstance(), Singleton.getInstance());}@AfterClasspublic static void afterClass() {System.out.println("afterClass is executed");}}
testng
package pattern.design;import org.testng.annotations.AfterClass;import org.testng.annotations.BeforeClass;import org.testng.Assert;import org.testng.annotations.Test;public class TestSingletonWithTestNG {@BeforeClasspublic void beforeClass() {System.out.println("beforeClass is executed");}@Testpublic void testSingleton() {System.out.println("testSingleton is executed"); Assert.assertEquals(Singleton.getInstance(), Singleton.getInstance()); Assert.assertSame(Singleton.getInstance(), Singleton.getInstance(),"Assert Object is equals");}@AfterClasspublic void afterClass() {System.out.println("afterClass is executed");}}
0 0
- junit和testng对BeforeClass和AfterClass注解的不同要求
- junit BeforeClass和AfterClass
- 【JUnit】[bug] BeforeClass 和 AfterClass 不执行
- @BeforeClass/@AfterClass 和 @Before/@After的区别
- @BeforeClass/@AfterClass 和 @Before/@After的区别
- JUnit中@BeforeClass@AfterClass@Before@After和@Test
- Hibernate下搭建JUNIT的测试环境,使用beforeclass和afterclass实现sessionFactory建立一次
- @BeforeClass and @AfterClass和@Before and @After的区别
- Junit中的@BeforeClass与@AfterClass
- Junit 实例精讲基础教程(一) 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass
- Junit 实例精讲基础教程(一) 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass
- 【JUnit】BeforeClass、AfterClass、Before与After示例
- 【JUnit】BeforeClass、AfterClass、Before与After示例
- 【JUnit】BeforeClass、AfterClass、Before与After示例
- 关于 junit4 中的 @Before @After @BeforeClass @AfterClass @Ignore 和 timeout expected 的使用
- Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法2 - SingleLaunchActivityTestCase
- junit 和 testNG的区别
- Junit和testng的区别
- 关系型数据库理论
- 线段树模板(poj3468)
- 中国省、市、区的Json数据
- C语言的第不知道多少天
- Linux文件操作与IO函数
- junit和testng对BeforeClass和AfterClass注解的不同要求
- What does “java: No match.” mean?
- netstat命令
- win7 32 bit SVN服务器搭建和客户端搭建
- 经典算法题每日演练——第五题 字符串相似度
- [Tools] Sublime Text
- POJ1324 状态压缩+BFS
- 表单验证
- Pascal's Triangle