所有的断言都在Assert类中。

public class Assert extends java.lang.Object

此类提供了一组断言方法,可用于编写测试。 Assert类的一些重要方法如下-

Sr.No.Methods & Remark1 void assertEquals(boolean expected,boolean actual) 检查两个 primitives/object是否相等。 2 void assertTrue(boolean condition) 检查条件是否为真。 3 void assertFalse(boolean condition) 检查条件是否为假。 4 void assertNotNull(Object object) 检查对象是否不为空。 5 void assertNull(Object object) 检查对象是否为空。 6 void assertSame(object1,object2) assertSame()方法测试两个对象引用是否指向同一对象 。 7 void assertNotSame(object1,object2) assertNotSame()方法测试两个对象引用是否未指向同一对象 。 8 void assertArrayEquals(expectedArray,resultArray); assertArrayEquals()方法将测试两个数组是否相等。

让无涯教程在示例中使用上述某些方法。在C:\> JUNIT_WORKSPACE中创建一个名为TestAssertions.java的Java类文件。

import org.junit.Test;

import static org.junit.Assert.*;

public class TestAssertions {

@Test

public void testAssertions() {

//测试数据

String str1 = new String ("abc");

String str2 = new String ("abc");

String str3 = null;

String str4 = "abc";

String str5 = "abc";

int val1 = 5;

int val2 = 6;

String[] expectedArray = {"one", "two", "three"};

String[] resultArray = {"one", "two", "three"};

//检查两个对象是否相等

assertEquals(str1, str2);

//检查条件是否为真

assertTrue (val1 < val2);

//检查条件是否为假

assertFalse(val1 > val2);

//检查对象不为空

assertNotNull(str1);

//检查对象是否为空

assertNull(str3);

//检查两个对象引用是否指向同一个对象

assertSame(str4,str5);

//检查两个对象引用是否不指向同一个对象

assertNotSame(str1,str3);

//检查两个数组是否相等。

assertArrayEquals(expectedArray, resultArray);

}

}

接下来,在C:\> JUNIT_WORKSPACE中创建一个名为TestRunner.java的Java类文件,以执行测试用例。

import org.junit.runner.JUnitCore;

import org.junit.runner.Result;

import org.junit.runner.notification.Failure;

public class TestRunner2 {

public static void main(String[] args) {

Result result = JUnitCore.runClasses(TestAssertions.class);

for (Failure failure : result.getFailures()) {

System.out.println(failure.toString());

}

System.out.println(result.wasSuccessful());

}

}

使用javac编译测试用例和测试运行器类。

C:\JUNIT_WORKSPACE>javac TestAssertions.java TestRunner.java

现在运行Test Runner,它将运行在提供的Test Case类中定义的测试用例。

C:\JUNIT_WORKSPACE>java TestRunner

验证输出。

true

Annotation

Annotation就像元标签,您可以将其添加到代码中并将其应用于方法或类中,下表提供了注释及其在JUnit中的含义的列表-

Sr.No.注解 & 描述1 @Test Test注释告诉JUnit,可以将其附加到的public void方法作为测试用例运行。 2 @Before 在每个Test方法之前运行。 3 @After 在Test方法之后运行。 4 @BeforeClass 在类中的任何测试方法之前运行一次。 5 @AfterClass 所有测试完成后,将执行该方法。 6 @Ignore 忽略批注用于忽略测试,并且该测试将不会执行。

在C:\> JUNIT_WORKSPACE中创建一个名为JunitAnnotation.java的Java类文件以测试注释。

import org.junit.After;

import org.junit.AfterClass;

import org.junit.Before;

import org.junit.BeforeClass;

import org.junit.Ignore;

import org.junit.Test;

public class JunitAnnotation {

//类执行前运行

@BeforeClass

public static void beforeClass() {

System.out.println("in before class");

}

//类执行后运行

@AfterClass

public static void afterClass() {

System.out.println("in after class");

}

//测试前执行

@Before

public void before() {

System.out.println("in before");

}

//测试后执行

@After

public void after() {

System.out.println("in after");

}

//测试用例

@Test

public void test() {

System.out.println("in test");

}

//测试用例忽略并且不会执行

@Ignore

public void ignoreTest() {

System.out.println("in ignore test");

}

}

接下来,在C:\> JUNIT_WORKSPACE中创建一个名为TestRunner.java的Java类文件以执行注释。

import org.junit.runner.JUnitCore;

import org.junit.runner.Result;

import org.junit.runner.notification.Failure;

public class TestRunner {

public static void main(String[] args) {

Result result = JUnitCore.runClasses(JunitAnnotation.class);

for (Failure failure : result.getFailures()) {

System.out.println(failure.toString());

}

System.out.println(result.wasSuccessful());

}

}

使用javac编译测试用例和测试运行器类。

C:\JUNIT_WORKSPACE>javac JunitAnnotation.java TestRunner.java

现在运行Test Runner,它将运行在提供的Test Case类中定义的测试用例。

C:\JUNIT_WORKSPACE>java TestRunner

验证输出。

in before class

in before

in test

in after

in after class

true

JUnit - 使用断言 - 无涯教程网无涯教程网提供所有的断言都在Assert 类中。 public class Assert extends java . lang . Object此类...https://www.learnfk.com/junit/junit-using-assertion.html

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: