问题标签 [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 回答
1045 浏览

java - 如何在 Munit 中编写负面测试用例

我正在编写一个否定测试用例,其中我必须在流程中创建一个异常。我希望全局异常策略能够捕获它,以便我可以断言响应。在 GlobalExceptionStrategy 内部,我们正在根据异常错误代码设置一些错误代码。目的是确保异常策略有效。

问题如下.. 我可以使用 runFlow() 运行流程。此方法将抛出 MuleException 并且它永远不会调用异常 startategy。

有什么办法可以将其提供给异常策略,然后从中获得响应...?

0 投票
2 回答
3182 浏览

java - 在 mule munit 中加载属性

我的流程中有一些占位符。这些占位符的值在属性文件(在classpath中)中指定。我正在使用 java 做 munit。目前,这些占位符不会被属性文件中的值替换。知道如何在运行 munit 时加载此文件吗?

我的单元是这样的:

0 投票
1 回答
1826 浏览

mule - 运行 Munit 测试流程时出错

我刚开始学习 MUnit 的 MUnit 项目时遇到以下错误:

无法找到或加载主类 org.mule.munit.runner.remote.MunitRemoteRunner

0 投票
2 回答
4745 浏览

mule - 在 Mulesoft for APIKit 中为 MUnit 流参考设置入站属性

我正在尝试在 MUnit 中测试 APIKit。最初我在 MUnit 中使用 http 请求来调用我的流程,然后 APIKit 会将请求路由到我的逻辑所在的正确子流程。现在我想模拟子流的元素之一,所以我试图用对 APIKit 流的引用替换 http 请求。这可行,但 APIKit 路由器会引发错误:

因为没有设置任何入站属性。这是我的问题,我如何模仿我发送到流引用的入站属性,以使请求看起来像是来自 HTTP 请求?或者,是否有另一种方法可以构建代码以便模拟我的逻辑元素?

谢谢

0 投票
1 回答
6138 浏览

mule - 使用 Mulesoft 在 MUnit 中模拟异常

我有一个包含对外部服务的 http 请求的流。我想添加一个 MUnit 测试,以确保在外部服务关闭并返回 500 时逻辑功能正常。我模拟 http 请求并返回 500,但由于我在 APIKit 之外进行测试,因此流程不会引发异常。

有没有办法强制模拟组件引发特定异常?

0 投票
2 回答
1964 浏览

maven - Mavenized Mule 项目,但 Munit 测试运行失败

我有一个现有的 Mule 项目(也有 MUnit),现在我们正在尝试对这个项目进行 mavenize。我只使用 Anypoint studio 进行 mavenize 和项目构建成功,我能够获得目标/测试类和目标/类文件夹但是当我尝试运行 Munit 测试(也尝试运行特定的测试用例)时它失败并出现以下错误。

在 Anypoint studio 中执行时,Munit 测试运行完美,但在使用 maven 命令执行时失败。

我用谷歌搜索了它,发现在 Mule Jira 中记录了相关问题,说明它已在 3.5 版中解决

参考:https ://www.mulesoft.org/jira/browse/MULE-7338

我正在使用 Mule 服务器 3.7.3 EE,Maven 版本是 3.3.9

任何帮助都是最受欢迎的。

0 投票
1 回答
1935 浏览

unit-testing - 模拟在 MUnit 套件中不起作用,但它们在逐个测试运行时起作用

我正在使用 Munit 来测试我的 Mule Flow,并且我正在使用模拟来设置变量,以便流程不会引发异常。当我自己运行测试时,它通过了,但是当我运行我的完整套件时,测试失败并且运行调试显示模拟在作为套件运行时没有设置变量。

我不明白为什么当一个套件时测试会有所不同,因为我每个之间没有通信,你知道我怎样才能避免这种情况发生吗?

失败的测试是 test_HttpInboundFlow_CallsHttpEndpointSubFlow。

0 投票
1 回答
2002 浏览

mule - Mulesoft MEL 表达式获取有效负载数据类型的字符串值

我想在 MUnit 断言中提取我的有效负载的类名,以便我可以验证有效负载始终是正确的类型。我尝试了 2 个 MEL 表达式,但都在 MEL 表达式评估器中返回 null。有趣的是,如果我删除表达式的 .name 部分,我会看到一个名为“name”的键,其中包含我需要的值。有任何想法吗?

0 投票
2 回答
930 浏览

mule - 带有 SFTP 组件的 MUnit

有没有人使用 MUnit 和 SFTP 组件,你能提供任何有用的信息/示例来启动吗?我浏览了 MUnit 文档,但在 Munit 的 SFTP 组件上没有得到太多帮助。

0 投票
1 回答
1696 浏览

mule - 在 MUnit 测试期间将有效负载设置为 http.query.params.variable_name

我正在尝试设置 MUnit 测试以确认 set payload 方法正在将有效负载设置为正确的值。我通过 HTTP 端点发送 JSON 文件。

正常运行流程时,将有效负载设置为:
#[message.inboundproperties.'http.query.params'.json]
工作正常,但是当我运行测试时,断言等于失败。

我正在使用 http.query.params=ParameterMap{[json=[[ { "protocol":"http", "host":"0.0.0.0", "port":"8085", "path" 设置消息: “”,“操作”:“GET”},{“协议”:“https”,“主机”:“0.0.0.0”,“端口”:“8086”,“路径”:“”,“操作”: “邮政” } ]]]}

我的主要流程是:

我的测试 xml 是:

测试失败,并显示一条失败消息,指出实际值为空。

我可以通过模拟设置的有效负载来修复它,但是我没有检查设置的有效负载是否按预期工作。