首页 > 其他分享 >无涯教程-JUnit - 扩展类

无涯教程-JUnit - 扩展类

时间:2024-01-13 10:37:18浏览次数:25  
标签:XML 教程 junit 无涯 JUnit 测试 import Cactus public

以下是JUnit扩展-

  • Cactus
  • JWebUnit
  • XMLUnit

Cactus

Cactus是用于对服务器端Java代码(Servlet,EJB,Tag Lib,Filters)进行单元测试的简单测试框架。Cactus的目的是降低编写服务器端代码测试的成本。它使用JUnit并将其扩展。

由几个部分组成-

  • Cactus Framework 是Cactus 的核心,它是提供用于编写​​Cactus测试的API的引擎。

  • Cactus Integration Modules 是提供使用Cactus Framework的简便方法的前端和框架。

以下代码演示了如何使用Cactus。

import org.apache.cactus.*;
import junit.framework.*;

public class TestSampleServlet extends ServletTestCase {
   @Test
   public void testServlet() {
      //初始化要测试的类
      SampleServlet servlet = new SampleServlet();

      //将会话中的变量设置为 doSomething()
      //我们正在测试的方法
      session.setAttribute("name", "value");

      //调用方法进行测试,传递一个HttpServletRequest object(for example)
      String result = servlet.doSomething(request);

      //执行验证测试是否成功
      assertEquals("something", result);
      assertEquals("otherValue", session.getAttribute("otherName"));
   }
}

JWebUnit

JWebUnit是用于Web应用程序的基于Java的测试框架。它使用统一,简单的测试界面包装了诸如HtmlUnit和Selenium之类的现有测试框架,以测试Web应用程序的正确性。

这是示例代码。

import junit.framework.TestCase;
import net.sourceforge.jwebunit.WebTester;

public class ExampleWebTestCase extends TestCase {
   private WebTester tester;
   
   public ExampleWebTestCase(String name) {
      super(name);
      tester = new WebTester();
   }
	
   //set base url
   public void setUp() throws Exception {
      getTestContext().setBaseUrl("http://myserver:8080/myapp");
   }
	
   //test base info
   @Test
   public void testInfoPage() {
      beginAt("/info.html");
   }
}

XMLUnit

XMLUnit提供了一个JUnit扩展类XMLTestCase和一组支持类,这些类允许对以下内容进行声明:

  • 两段XML之间的差异(通过Diff和DetailDiff类)。

  • 一段XML的有效性(通过Validator类)。

  • 使用XSLT(通过Transform类)转换XML片段的输出。

  • 在XML上对XPath表达式的求值(通过实现XpathEngine接口的类)。

  • 通过DOM遍历(通过NodeTest类)公开的XML中的各个节点。

让无涯教程假设要比较两个XML,并断言它们是相等的。可以编写一个像这样的简单测试类-

import org.custommonkey.xmlunit.XMLTestCase;

public class MyXMLTestCase extends XMLTestCase {

   //this test method compare two pieces of the XML
   @Test
   public void testForXMLEquality() throws Exception {
      String myControlXML = "<msg><uuid>0x00435A8C</uuid></msg>";
      String myTestXML = "<msg><localId>2376</localId></msg>";
      assertXMLEqual("Comparing test xml to control xml", myControlXML, myTestXML);
   }
}

参考链接

https://www.learnfk.com/junit/junit-extensions.html

标签:XML,教程,junit,无涯,JUnit,测试,import,Cactus,public
From: https://blog.51cto.com/u_14033984/9229246

相关文章

  • 无涯教程-Maven - 环境设置
    Maven是一个基于Java的工具,因此最首要的要求是在您的计算机上安装JDK。第1步-验证Java安装打开控制台并执行以下java命令。OSTaskCommandWindowsOpenCommandConsolec:\>java-versionLinuxOpenCommandTerminal$java-versionMacOpenTerminalmachine:~jo......
  • 学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程
    Python可以用于数据库应用程序。最流行的NoSQL数据库之一是MongoDBMongoDBMongoDB将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展。您可以在MongoDB官网上下载免费的MongoDB数据库PyMongoPython需要一个MongoDB驱动程序来访问MongoDB数据库。我将......
  • 无涯教程-Maven - 配置文件
    构建配置文件是一组配置值,可用于设置或覆盖Maven构建的默认值。文件类型构建配置文件主要分为三种类型。Type定义的地方PerProject在项目POM文件pom.xml中定义PerUser在Maven设置xml文件(%USER_HOME%/.m2/settings.xml)中定义Global在Maven全局设置xml文件(%M2_HOME%/co......
  • 学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程
    Python可以用于数据库应用程序。最流行的NoSQL数据库之一是MongoDBMongoDBMongoDB将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展。您可以在MongoDB官网上下载免费的MongoDB数据库PyMongoPython需要一个MongoDB驱动程序来访问MongoDB数据库。我将......
  • 无涯教程-JUnit - Eclipse插件
    要使用eclipse设置JUnit,请遵循以下步骤。步骤1-下载JUnit包根据系统上的操作系统下载JUnitjar。OSJar名称Windowsjunit4.10.jarLinuxjunit4.10.jarMacjunit4.10.jar假设您已将上面的JAR文件复制到文件夹C:\>JUnit。步骤2-设定Eclipse环境打开eclipse→......
  • 无涯教程-JUnit - 参数化测试
    JUnit4引入了称为参数化测试的新功能,参数化测试允许开发人员使用不同的值一次又一次地运行相同的测试。创建参数化测试需要遵循五个步骤。使用@RunWith(Parameterized.class)注释测试类。创建一个用@Parameters注释的公共静态方法,该方法返回对象的集合作为测试数据集。创建一......
  • 无涯教程-JUnit - 异常测试
    JUnit提供了跟踪代码异常处理的选项,您可以测试代码是否引发期望的异常。expected参数与@Test注释一起使用。让无涯教程看看@Test(expected)的作用。创建测试类在C:\>JUNIT_WORKSPACE中创建一个要测试的Java类,例如MessageUtil.java。在printMessage()方法内添加错误条件。......
  • 无涯教程-JUnit - 时间测试
    JUnit提供了一个超时(timeout)选项,如果测试花费的时间超过指定的毫秒数,则JUnit会自动将其标签为失败。timeout参数与@Test注释一起使用。创建测试类在C:\>JUNIT_WORKSPACE中创建一个要测试的Java类,例如MessageUtil.java。在printMessage()方法内添加一个无限的while循环。......
  • 无涯教程-JUnit - Ignore测试
    有时会发生这样的情况,无涯教程的代码在运行测试用例时还没有完全准备好,@Ignore注释在这种情况下会有所帮助。带有@Ignore注释的测试方法将不会执行。如果使用@Ignore注释测试类,则不会执行其所有测试方法。现在看看@Ignore的作用。创建测试类在C:\>JUNIT_WORKSPACE中创建......
  • 无涯教程-JUnit - 套件测试
    测试套件(SuiteTest)用于捆绑一些单元测试用例并一起运行。在JUnit中,@RunWith和@Suite批注都用于运行套件测试。本章以包含两个测试类TestJunit1和TestJunit2的示例为例,这两个测试类使用TestSuite一起运行。创建测试类在C:\>JUNIT_WORKSPACE中创建一个要测试的Java类,例如Mes......