📜  MuleSoft-使用MUnit进行测试

📅  最后修改于: 2020-11-12 05:06:20             🧑  作者: Mango


我们知道单元测试是一种可以对源代码的各个单元进行测试以确定它们是否适合使用的方法。 Java程序员可以使用Junit框架编写测试用例。同样,MuleSoft还拥有一个称为MUnit的框架,该框架使我们能够为API和集成编写自动测试用例。非常适合持续集成/部署环境。 MUnit框架的最大优势之一是我们可以将其与Maven和Surefire集成。

MUnit的功能

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

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

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

  • MUnit使我们可以轻松地将测试集成到现有的CI / CD流程中。

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

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

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

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

  • 它使我们可以验证消息处理器的调用。

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

  • 我们可以使用Mule堆栈跟踪检查错误报告。

最新版本的Mule MUnit测试框架

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

  • MS Windows 8+
  • 苹果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 。例如,我们开始了一个新的Mule项目test_munit ,您可以在下图中看到,它将上述文件夹添加到我们的项目下。

设计MUnit测试

现在,一旦开始新项目,有两种在Anypoint Studio中创建新MUnit测试的基本方法-

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

  • 通过使用向导-在这种方法中,我们需要使用向导来创建测试。它允许我们为工作空间中的任何流创建测试。

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

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

测试MUnitFlow

现在,右键单击此流程,然后选择MUnit为该流程创建测试,如下所示-

选择MUnit

它将创建一个新的测试套件,该套件以流所驻留的XML文件命名。在这种情况下, test_munit-test-suite是新测试套件的名称,如下所示-

流执行

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

XML编辑器

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

验证声明

如果您想通过向导创建测试,请遵循文件→新建→MUnit ,它将引导您进入以下MUnit测试套件-

MUnit测试套件

配置测试

在Mule 4中,我们有两个新的部分,即MUnitMUnit Tools ,它们共同具有所有MUnit消息处理器。您可以在MUnit测试区域中拖动任何消息处理器。它显示在下面的屏幕截图中-

配置测试

现在,如果要编辑西装的配置或在Anypoint Studio中进行测试,则需要执行以下步骤-

第1步

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

第2步

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

第三步

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

编辑启动配置

运行测试

我们可以运行一个测试套件以及一个测试。首先,我们将了解如何运行测试套件。

运行测试套件

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

运行测试套件

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

运行测试

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

运行测试

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

查看和分析测试结果

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

产生报告

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

  • 应用程序总体覆盖
  • 资源覆盖
  • 流量覆盖

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

分析测试结果

调试测试

我们可以调试一个测试套件以及一个测试。首先,我们将了解如何调试测试套件。

调试测试套件

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

调试测试

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

调试测试

要调试特定的测试,我们需要选择特定的测试,然后右键单击该测试。我们将获得与调试测试套件时相同的下拉菜单。现在,单击Debug MUnit Test选项。在下面的屏幕快照中显示。

调试测试