所有的断言都在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
推荐文章
发表评论