课程表

JUnit课程

工具箱
速查手册

JUnit - 测试框架

当前位置:免费教程 » Java相关 » JUnit

什么是 Junit 测试框架?

JUnit 是一个回归测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。JUnit 测试框架能够轻松完成以下任意两种结合:

  • Eclipse 集成开发环境
  • Ant 打包工具
  • Maven 项目构建管理

特性

JUnit 测试框架具有以下重要特性:

  • 测试工具
  • 测试套件
  • 测试运行器
  • 测试分类

测试工具

测试工具是一整套固定的工具用于基线测试。测试工具的目的是为了确保测试能够在共享且固定的环境中运行,因此保证测试结果的可重复性。它包括:

  • 在所有测试调用指令发起前的 setUp() 方法。
  • 在测试方法运行后的 tearDown() 方法。

让我们来看一个例子:

  1. import junit.framework.*;
  2. public class JavaTest extends TestCase {
  3. protected int value1, value2;
  4. // assigning the values
  5. protected void setUp(){
  6. value1=3;
  7. value2=3;
  8. }
  9. // test method to add two values
  10. public void testAdd(){
  11. double result= value1 + value2;
  12. assertTrue(result == 6);
  13. }
  14. }

测试套件

测试套件意味捆绑几个测试案例并且同时运行。在 JUnit 中,@RunWith 和 @Suite 都被用作运行测试套件。以下为使用 TestJunit1 和 TestJunit2 的测试分类:

  1. import org.junit.runner.RunWith;
  2. import org.junit.runners.Suite;
  3. //JUnit Suite Test
  4. @RunWith(Suite.class)
  5. @Suite.SuiteClasses({
  6. TestJunit1.class ,TestJunit2.class
  7. })
  8. public class JunitTestSuite {
  9. }
  10. import org.junit.Test;
  11. import org.junit.Ignore;
  12. import static org.junit.Assert.assertEquals;
  13. public class TestJunit1 {
  14. String message = "Robert";
  15. MessageUtil messageUtil = new MessageUtil(message);
  16. @Test
  17. public void testPrintMessage() {
  18. System.out.println("Inside testPrintMessage()");
  19. assertEquals(message, messageUtil.printMessage());
  20. }
  21. }
  22. import org.junit.Test;
  23. import org.junit.Ignore;
  24. import static org.junit.Assert.assertEquals;
  25. public class TestJunit2 {
  26. String message = "Robert";
  27. MessageUtil messageUtil = new MessageUtil(message);
  28. @Test
  29. public void testSalutationMessage() {
  30. System.out.println("Inside testSalutationMessage()");
  31. message = "Hi!" + "Robert";
  32. assertEquals(message,messageUtil.salutationMessage());
  33. }
  34. }

测试运行器

测试运行器 用于执行测试案例。以下为假定测试分类成立的情况下的例子:

  1. import org.junit.runner.JUnitCore;
  2. import org.junit.runner.Result;
  3. import org.junit.runner.notification.Failure;
  4. public class TestRunner {
  5. public static void main(String[] args) {
  6. Result result = JUnitCore.runClasses(TestJunit.class);
  7. for (Failure failure : result.getFailures()) {
  8. System.out.println(failure.toString());
  9. }
  10. System.out.println(result.wasSuccessful());
  11. }
  12. }

JUnit 测试分类

测试分类是在编写和测试 JUnit 的重要分类。几种重要的分类如下:

  • 包含一套断言方法的测试断言
  • 包含规定运行多重测试工具的测试用例
  • 包含收集执行测试用例结果的方法的测试结果
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号