MuleSoft - 使用MUnit进行测试



我们知道单元测试是一种方法,可以通过它测试源代码的各个单元,以确定它们是否适合使用。Java程序员可以使用JUnit框架编写测试用例。类似地,MuleSoft也拥有一个名为MUnit的框架,允许我们为API和集成编写自动化测试用例。它非常适合持续集成/部署环境。MUnit框架的最大优势之一是我们可以将其与Maven和Surefire集成。

MUnit的功能

以下是Mule MUnit测试框架的一些非常有用的功能:

  • 在MUnit框架中,我们可以使用Mule代码和Java代码创建Mule测试。

  • 我们可以在Anypoint Studio中以图形方式或XML方式设计和测试我们的Mule应用程序和API。

  • MUnit允许我们将测试轻松集成到现有的CI/CD流程中。

  • 它提供自动生成的测试和覆盖率报告;因此,手工操作最少。

  • 我们还可以使用本地数据库/FTP/邮件服务器,通过CI流程使测试更具可移植性。

  • 它允许我们启用或禁用测试。

  • 我们还可以使用插件扩展MUnit框架。

  • 它允许我们验证消息处理器调用。

  • 借助MUnit测试框架,我们可以禁用端点连接器以及流程入站端点。

  • 我们可以检查带有Mule堆栈跟踪的错误报告。

Mule MUnit测试框架的最新版本

MUnit 2.1.4是Mule MUnit测试框架的最新版本。它需要以下硬件和软件要求:

  • MS Windows 8+
  • Apple Mac OS X 10.10+
  • Linux
  • Java 8
  • Maven 3.3.3、3.3.9、3.5.4、3.6.0

它与Mule 4.1.4和Anypoint Studio 7.3.0兼容。

MUnit和Anypoint Studio

如上所述,MUnit完全集成在Anypoint Studio中,我们可以在Anypoint Studio中以图形方式或XML方式设计和测试我们的Mule应用程序和API。换句话说,我们可以使用Anypoint Studio的图形界面执行以下操作:

  • 创建和设计MUnit测试
  • 运行我们的测试
  • 查看测试结果以及覆盖率报告
  • 调试测试

因此,让我们开始逐一讨论每个任务。

创建和设计MUnit测试

启动新项目后,它会自动向我们的项目添加一个名为src/test/munit的新文件夹。例如,我们启动了一个名为test_munit的新Mule项目,您可以在下图中看到,它在我们的项目下添加了上述文件夹。

Designing MUnit Tests

现在,启动新项目后,有两种基本方法可以在Anypoint Studio中创建新的MUnit测试:

  • 右键单击流程 - 在此方法中,我们需要右键单击特定的流程,然后从下拉菜单中选择MUnit。

  • 使用向导 - 在此方法中,我们需要使用向导创建测试。它允许我们为工作区中的任何流程创建测试。

我们将使用“右键单击流程”的方式为特定流程创建测试。

首先,我们需要在工作区中创建流程,如下所示:

Test MUnitFlow

现在,右键单击此流程并选择MUnit为其创建测试,如下所示:

Select MUnit

它将创建一个以包含流程的XML文件命名的新的测试套件。在本例中,test_munit-test-suite是新测试套件的名称,如下所示:

Flow Execution

以下是上述消息流程的XML编辑器:

XML Editor

现在,我们可以通过从Mule Palette中拖动,向测试套件添加MUnit消息处理器。

Validation Assert

如果要通过向导创建测试,则按照文件→新建→MUnit操作,它将引导您进入以下MUnit测试套件:

MUnit Test Suite

配置测试

在Mule 4中,我们有两个新的部分,分别称为MUnitMUnit工具,它们共同包含所有MUnit消息处理器。您可以将任何消息处理器拖到您的MUnit测试区域。它显示在下图中:

Configuring the Test

现在,如果要编辑Anypoint Studio中套件或测试的配置,则需要按照以下步骤操作:

步骤1

转到包资源管理器,右键单击套件或测试的.xml文件。然后,选择属性

步骤2

现在,在属性窗口中,我们需要单击运行/调试设置。之后单击新建

步骤3

在最后一步中,在选择配置类型窗口下单击MUnit,然后单击确定

Edit Launch Configuration

运行测试

我们可以运行测试套件和测试。首先,我们将看到如何运行测试套件。

运行测试套件

要运行测试套件,请右键单击包含测试套件的Mule画布的空白部分。它将打开一个下拉菜单。现在,单击运行MUnit套件,如下所示:

Running a Test Suite

稍后,我们可以在控制台中看到输出。

运行测试

要运行特定测试,我们需要选择该特定测试并右键单击它。我们将获得与运行测试套件时相同的下拉菜单。现在,单击运行MUnit测试选项,如下所示:

Running a Test

之后,可以在控制台中看到输出。

查看和分析测试结果

Anypoint Studio在左侧资源管理器窗格的MUnit选项卡中显示MUnit测试结果。您可以找到以绿色显示的成功测试和以红色显示的失败测试,如下所示:

Generate Report

我们可以通过查看覆盖率报告来分析测试结果。覆盖率报告的主要功能是提供一个指标,即一组MUnit测试已成功执行了多少Mule应用程序。MUnit覆盖率基本上基于执行的MUnit消息处理器的数量。MUnit覆盖率报告为以下内容提供指标:

  • 应用程序整体覆盖率
  • 资源覆盖率
  • 流程覆盖率

要获取覆盖率报告,我们需要在MUnit选项卡下单击“生成报告”,如下所示:

Analyzing Test Result

调试测试

我们可以调试测试套件和测试。首先,我们将看到如何调试测试套件。

调试测试套件

要调试测试套件,请右键单击包含测试套件的Mule画布的空白部分。它将打开一个下拉菜单。现在,单击调试MUnit套件,如下所示:

Debugging the Test

然后,我们可以在控制台中看到输出。

调试测试

要调试特定测试,我们需要选择该特定测试并右键单击它。我们将获得与调试测试套件时相同的下拉菜单。现在,单击调试MUnit测试选项。它显示在下图中。

Debugging a Test
广告