所有的断言都在Assert类中。
public class Assert extends java.lang.Object
此类提供了一组断言方法,可用于编写测试。 Assert类的一些重要方法如下-
Sr.No. | Methods & Remark |
---|---|
1 |
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
参考链接
https://www.learnfk.com/junit/junit-using-assertion.html
标签:教程,void,无涯,public,org,Test,import,junit,JUnit From: https://blog.51cto.com/u_14033984/9219194