Sunday, January 29, 2017

JUnit简介 annotation

@BeforeClass和@AfterClass对一个test.java文件只跑一次,所以这两个方法都是static,方法名可以自定义。
@Before和@After对同一个test.java每个test的方法都会跑一次
@Test就是真正测试的方法,这里测试二分法
@RunWith 用在几个class一起测试或者用到其他框架。


@RunWith(Suite.class)
@SuiteClasses({ FirstDayAtSchoolTest.class, FirstDayAtSchoolTest2.class })
public class AllTests {
}
或者
@RunWith(MockitoJUnitRunner.class)

public class UtilTest {

// (static) Run once, e.g. Database connection, connection pool
    @BeforeClass
    public static void runOnceBeforeClass() {
        System.out.println("@BeforeClass - runOnceBeforeClass");
    }

    // e.g. Creating an similar object and share for all @Test
    @Before
    public void runBeforeTestMethod() {
        System.out.println("@Before - runBeforeTestMethod");
    }

    @Test
    public void test_BinarySearch() {
    // Arrange
    int a[] = new int[]{1,2,3,5,6,8,9};
   
    // Act
    int r = Util.indexOf(a, 3);
   
    // Assert
    assertEquals(2, r);
    }

    @Test
    public void test_BinarySearch_notFound() {
    // Arrange
int b[] = new int[]{1,2,3,3,3,5,6,8,9};

// Act
int r = Util.indexOf(b, 4);

// Assert
    assertEquals(-1, r);
    }
 
    // e.g. Closing an similar object and share for all @Test
    @After
    public void runAfterTestMethod() {
        System.out.println("@@After - runAfterTestMethod");
    }

    // (static) Run once, e.g. close database connection, connection pool
    @AfterClass
    public static void runOnceAfterClass() {
        System.out.println("@@AfterClass - runOnceAfterClass");
    }
}

No comments:

Post a Comment