• jUnit4初探(1)


       junit4的最大特色就是比之前的版本更加人性化。主要利用的是jdk5特有的Annotation,提供一些本来不属于程序的数据。Annotation使用@annotation的形式应用于代码(类、方法以及属性)。

       @Before表示在测试程序执行之前先执行的代码块,但如果涉及到文件的读写操作,每一次执行都会打开、关闭文件,会影响程序速率。我们希望在所有测试之前读一次文件,在所有测试完成之后释放文件,而不是每次测试都读文件。junit4提出了@BeforeClass和@AfterClass,只是需要注意的是,每个类智能有一个方法被标注为@BeforeClass或AfterClass,且该方法必须是public以及static类型。

       关于静态导入。在import关键字后面加上static关键字即可,就可以把后面类的静态方法和字段导入。

       关于run方法。jUnit框架如何运行你的测试代码呢?答案是Runner。@RunWith是修饰类的。jUnit中有多个Runner方法,系统默认的@RunWith(TestClassRunner.class)。二是@RunWith(Parameterized.class),即参数化测试。假如某个方法在许多区域有参数,以成绩为例,返回值分别为(优秀、良好、一般、不及格等),则需要写4个以上的例子,这确实是一件比较麻烦的事情。告诉框架运行方法之后,我们需要提供一个参数列表,以@Parameters修饰,该方法随意命名。下一步即构造方法。三是打包测试。打包测试将需要运行的测试类集中起来,一次性测试。不过需要重写一个类,以@RunWith(Suite.class) @Suite.SuiteClasses({..,..需要测试的类}),类方法为空。

      codeview:

     1 @Before
     2     public void setUp() throws Exception {
     3         cc.clear();
     4     }
     5 
     6     @Test
     7     public void testAdd() {
     8         cc.add(2);
     9         cc.add(3);
    10         assertEquals(5, cc.getResult());
    11     }
    12 
    13     @Test
    14     public void testSubstract() {
    15         cc.substract(3);
    16         cc.substract(3);
    17         assertEquals("fucking wrong!",0, cc.getResult());
    18     }
    19     @Ignore
    20 //    @Test
    21     public void  testSqrt(){
    22         cc.sqrt(param);
    23         assertEquals(result,cc.getResult());
    24     }
    我不断的寻找
  • 相关阅读:
    洛谷 P1231 教辅的组成
    BZOJ 2190: [SDOI2008]仪仗队
    Codeforces GYM 100741A . Queries
    COGS 1298. 通讯问题
    洛谷 P2604 [ZJOI2010]网络扩容
    codevs 1227 方格取数 2
    codevs 1004 四子连棋
    洛谷 P2319 [HNOI2006]超级英雄
    洛谷 P2153 [SDOI2009]晨跑
    插入排序
  • 原文地址:https://www.cnblogs.com/yNds/p/4319192.html
Copyright © 2020-2023  润新知