问题标签 [munit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4288 浏览

maven - 项目使用 Maven 时 Anypoint Studio 中的 MUnit 测试错误

我正在尝试将 MUnit 单元测试引入使用 Maven 进行构建和依赖管理的现有 Mule 项目。

但是,我无法通过 Mule Anypoint Studio 直观地运行测试,当我尝试调试它们时出现错误:

无法运行 MUnit 测试,类路径引用的存档 C:/pathtomyuserfolder/.m2/commons-logging/1.2/commons-logging-1.2.jar 不存在。

但是,我可以使用 Maven 使用命令“ mvn test ”运行测试,但这并不理想,因为我希望能够调试测试、在断点处暂停等。

我可以在这里使用 Mule Anypoint Exchange 示例重现此问题https ://www.mulesoft.com/exchange/#!/munit-example 。当我打开这个项目时,我可以毫无问题地调试测试,但是如果我然后右键单击该项目并选择Maven Support In Studio -> Mavenize。然后我无法在 Studio 中调试测试。

我究竟做错了什么?是否支持这种行为?

0 投票
1 回答
1189 浏览

database - 如何在 Munit 测试用例的 DB 服务器组件中配置 H2 DB 连接详细信息?

  1. 我需要在不连接到原始数据库的情况下测试数据库查询。
  2. 我正在尝试使用 Munit DB Server 组件连接到内存数据库中的 H2 而不是原始数据库。
  3. 我已经在数据库服务器配置模块`dbserver:config name="DB_Server" database="test" doc:name="DB Server" sqlFile="CreateEmployee.sql" 中配置了 sql 脚本,并且还在 munit 套件之前启动了数据库服务器
  4. 但是我的测试用例是连接到原始数据库而不是 H2 DB
  5. 我安装了本地 H2 Db 和 DB 属性

请帮助我在哪里以及如何配置 H2 DB 相关属性,以便我的测试用例可以在内存数据库中使用?

0 投票
1 回答
2171 浏览

file - MUnit 测试失败 - 无法处理事件,因为“getCSVAccountsFlow”已停止 MULE_ERROR-166

我创建了一个输入 csv 文件的流,然后使用 DataWeave 转换为 JSON,然后循环遍历每个记录并记录有效负载 - 简单,工作正常。

然后我使用 Mock 组件的 getResources 方法创建了以下 MUnit;但是,当我运行 MUnit 测试时,我收到以下错误:

错误:

单元测试:

流动:

0 投票
1 回答
772 浏览

mule - 如何使用 MUnit XML 验证出站属性?

在将有效负载发送到 JMS 队列之前,我在消息中设置了一些出站属性,并且我想在将消息发送到 JMS 队列之前测试这些属性是否在消息中正确设置。

我曾考虑在 JMS 出站端点之前使用 MUnit 间谍,但间谍只能验证会话属性、调用属性和有效负载。有没有另一种方法可以使用 MUnit XML 实现这一点?

我创建了一个迷你骡子项目来进一步说明这个问题。下面提供了代码。本质上,它只是一个调用子流的流,该子流在 mule 消息中设置出站属性,并且 MUnit 有一个 spy 断言在调用子流之后在 mule 消息中设置出站属性。但是,MUnit Spy 似乎无法访问 mule 出站属性。我想知道此时是否有另一种解决方法。我知道文档指定间谍只能验证会话和调用属性,以及此时的有效负载。欢迎任何建议。

Sandbox.xml - 主骡文件

MUnit 文件 - 测试主要流程

谢谢,

胡安

0 投票
2 回答
6673 浏览

maven - Maven 的 MUnit 测试失败(无法调用生命周期阶段“开始”)

我们有一个带有关联 MUnit 测试套件的 Mule 流程。当在 Anypoint Studio 之外执行时,测试运行良好(在 MUnit 流程中右键单击并选择“Run MUnit Suite”)。

mvn test -X但是,使用命令行中的Maven,我们会遇到异常。

我们正在使用 Anypoint Studio 5.4.1 MUnit 1.1.0 Mule 版本 3.6.1

完整的堆栈跟踪:

这是POM文件:

0 投票
2 回答
1397 浏览

maven - 使用 Maven 进行 Mule MUnit 测试,未定义 mule.home 属性

在我们的 Mule 项目中,我们有一个公共属性文件,该文件被许多 Mule 项目引用。为此,我们将文件放在 Mule 安装目录中,并在每个项目的流程中引用它:

这适用于在 Mule 和 Anypoint Studio 中运行项目,因为在这两种情况下都已mule.home定义。它还适用于从 Anypoint Studio 运行项目中定义的 MUnit 测试套件。

但是,当从 Maven 运行测试时mule.home未定义并且测试失败。我尝试向mule.homeMavensettings.xml文件添加定义,但这不起作用。

关于如何从 Maven 运行测试并将mule.home引用保留在属性流中的任何建议?或者,当从测试套件调用流时,是否有办法在属性流中进行替代配置?

或者我们应该如何引用来自多个 Mule 项目的公共属性文件?

版本:Mule 运行时:3.6.2

单位:1.1.0

Maven 3.3.1

0 投票
1 回答
3963 浏览

unit-testing - 模拟外部 REST API 调用时 MUnit 测试失败

我有以下 Mule 流程,用于从外部 API 检索一些详细信息,然后将其映射到一些有效负载以返回到调用客户端:

我创建了以下单元测试,其中我使用 MUnitmock处理器模拟 HTTP 请求:

当我尝试运行此测试时,我遇到了一个不寻常的错误。似乎测试由于 HTTP 超时而失败。我不明白当 HTTP 请求处理器被模拟时这是怎么可能的,因此不应该进行外部调用?

我看到的错误消息如下:

0 投票
2 回答
183 浏览

mule - 我们应该如何组织我们的 mule 导入以最大限度地提高加载效率并实现 munit 测试的模块化?

我们目前组织了我们的 mule 项目,其中我们的 mule 流在几个流文件中。我们发现这有助于我们重用流程。但是,它有一个额外的副作用。通过在其他流文件之间建立依赖关系,我们发现我们的 munit 测试现在必须加载大量的流文件,这会减慢我们的 munit 测试,因为我们必须加载更多的文件。我们也不想将我们的流程粘在一个巨大的文件中。

我们想知道是否有一个快乐的媒介或策略,我们应该如何拆分我们的流文件,以便在测试和应用程序加载时将性能影响降至最低?

谢谢,

胡安

0 投票
4 回答
1259 浏览

java - 如何在编写 MUnit 时加载 mule-app.properties

我正在编写一个 MUnit,并且在 mule-app.properties 文件中提到了 HttpListerner 的端口。当我使用 getConfigResources 加载流时,它没有被加载。还有什么我需要做的吗?

0 投票
4 回答
1455 浏览

java - 使用 MUnit 排除子流

有没有办法让我用 MUnit 结束测试并在调用子流时添加断言?我想将测试分成更小的部分。