Junit4单元测试

    xiaoxiao2024-08-02  38

    视频地址

    步骤

    1.在工程目录下新建一个source folder命名为test专门存放测试类 在工程上,右键->new->Source Folder 2.为需要创建测试类的创建测试类 在类文件上,右键->new->JUnit Test Case 把目录为新建的test目录,包名要与被测试类相同可以勾选是否自动生成@BeforeClass;@AfterClass;@Before;@After;注解方法点击,next可以选择需要测试的方法3.运行测试类里的一个方法 将光标选中该方法,右键->Run As->JUnit Test4.运行测试类里所有方法 将光标移出方法名的范围,右键->Run As->JUnit Test5.运行多个测试类里的所有方法 a.新建一个测试类,b.删除新建类的所有方法c.用@RunWith(Suite.class)注解将runner改为Suited.用@Suite.SuiteClasses()以数组的方式设置要跑的多个测试类 package com.ztc; import static org.junit.Assert.*; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({CalculateTest.class,TaskTest.class}) public class SuiteTest { } 6.运行多组参数测试 a.更改默认的测试运行器为RunWith(Parameterized.class) b.声明变量存放预期值和测试数据 c.声明一个返回值 为Collection的公共静态方法,并使用@Parameters进行修饰 d.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值 e.运行测试方法,即可完成对多组数据的测试 package com.ztc; import static org.junit.Assert.*; import java.util.Arrays; import java.util.Collection; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class ParamersTest { int ans; int a; int b; public ParamersTest(int ans, int a, int b) { this.ans = ans; this.a = a; this.b = b; } @Parameters public static Collection<Object[]> t() { return Arrays.asList(new Object[][]{ {4,1,2}, {4,2,2}, {3,1,2} }) ; } @Test public void testAdd() { assertEquals(ans, new Calculate().add(a, b)); } }

    常见注解

    @Test:将一个普通的方法修饰成为一个测试方法 @Test(expected=XX.class)@Test(timeout=毫秒)@BeforeClass:它会在所有的方法运行前被执行,static修饰@AfterClass:它会在所有的方法运行结束后被执行,static修饰@Before:会在每一个测试方法被运行前执行一次@After:会在每一个测试方法运行后被执行一次@Ignore:所修饰的测试方法会被测试运行器忽略@RunWith:可以更改测试运行器 org.junit.runner.Runner

    Test执行流程

    [@BeforeClass]->{ ([@Before]->[@Test]->[@After]) … }->[@AfterClass]

    转载请注明原文地址: https://ju.6miu.com/read-1291285.html
    最新回复(0)