- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 Quarks 应用程序 中使用 Smallrye Mutiniy react 库,因为它在 Quarks 应用程序中得到原生支持。
我正在尝试为服务类编写单元测试。我不确定如何为返回 Uni/Multi 的方法编写单元测试。
返回 Uni<String>
的方法
public Uni<String> hello(final String name) {
final String message = "Hello " + name;
return Uni.createFrom().item(message);
}
为上述方法实现的单元
@Test
void testHello() {
final Uni<String> casePass = hello("Ram");
// assertion passes and all good with this.
casePass.subscribe().with(message -> Assertions.assertEquals("Hello Ram", message));
final Uni<String> caseFail = hello("Ravan");
// It is expected to fail the assertion, and it does. But the test is not failing, instead aseertion fail message simply logged to the console.
caseFail.subscribe().with(message -> Assertions.assertEquals("Hello Sita", message));
}
控制台日志
[-- Mutiny had to drop the following exception --]
Exception received by: io.smallrye.mutiny.helpers.UniCallbackSubscriber.onItem(UniCallbackSubscriber.java:71)
org.opentest4j.AssertionFailedError: expected: <Hello Sita> but was: <Hello Ram>
at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:55)
at org.junit.jupiter.api.AssertionUtils.failNotEqual(AssertionUtils.java:62)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:177)
at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1124)
...
最佳答案
有几种方法。您可以使用 smallrye.io/smallrye-mutiny/guides/testing 中提供的实用方法。但是,如果根据您的评论,您需要更多,我建议采用以下方法:
final Uni<Greeting> casePass = hello("Ram");
Greeting g = casePAss.await().atMost(Duration.ofSeconds(5)); // To be sure we don't stay tucked
// Assertions come here
所以基本上,您阻止直到项目被发送。避免使用 await().indefinitely()
,因为如果 Uni 从不发送项目,它可能会阻止您的测试。如果 Uni 发送失败,await()...
不会抛出异常。
关于quarkus - 如何对返回 Smallrye 叛变 react 库的 Uni/Multi 的方法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68330665/
前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,现在所在公司项目有抖音、快手、微信、支付、APP端
老是碰到初版制作完成没多久,就整一出说什么要更改整个项目的色彩体系。真的是宝宝心里苦啊. 起初都是通过uni项目自带的uni.scss中定义,在替换页面上对应的css。以便于达到一次性修改整体布局的
小程序录制视频;10-30秒;需要拍摄人脸,大声朗读数字(123456)这种。 1.camera组件 camera页面内嵌的区域相机组件。注意这不是点击后全屏打开的相机 camera只支持小程序
小程序录制视频;10-30秒;需要拍摄人脸,大声朗读数字(123456)这种。 1.camera组件 camera页面内嵌的区域相机组件。注意这不是点击后全屏打开的相机 camera只支持小程序
在实践运用中,经常需要在路由跳转时判断是否需要登录权限,页面跳转时,添加加在if判断。 插件市场也有一些这种插件,配置也稍微复制,大部分朝向vue-router。 注:本次路由封装,只是单纯的判断是否
已经用 uni-app+vue3+ts 开发了一段时间,记录一下日常遇见的问题和解决办法 。 uni-app 中的单端代码 uni-app 是支持多端,如果你想让你的代码,只在部分平台使
微信小程序的订阅消息是小程序的重要能力之一,为实现服务的闭环提供更优的体验。订阅消息我们应该经常见到,比如下单成功之后的 服务通知 ,支付成功后的 支付成功通知 ,都属于小程序的订阅消息。
这是我目前发现较好的uni-app 自定义底部导航栏方法,其他方法的缺点主要是在切换时,要么会闪烁,要么会每点击一下,都会请求一次数据。如果有其他更好的方法,欢迎评论留言,最近才开始用uni-app
一、前言 应用uni-app跨端框架开发APP过程中,遇到以下新增需求: 应用在闪崩或异常退出时,用户希望正在填写的大量信息可以得以保存。当用户再次打开APP时,之前未提交的信息可回显。 刚开始会考虑
一、资源下载 APP应用开发过程中,资源下载是一种常见应用场景。uni-app中应用uni.downloadFile实现文件下载功能。示例代码如下: downLoadFile() { cons
一、问题描述 Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage We noticed that your app requ
一、资源下载 APP应用开发过程中,资源下载是一种常见应用场景。uni-app中应用uni.downloadFile实现文件下载功能。示例代码如下: downLoadFile() { cons
一、问题描述 Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage We noticed that your app requ
到目前为止,我已经在 Quarkus 中使用 smallrye Mutiny 完成了非常基本的工作。基本上,我有一个或两个非常小的网络服务,它们只与网络应用程序交互。这些服务返回 Uni . 现在我正
到目前为止,我已经在 Quarkus 中使用 smallrye Mutiny 完成了非常基本的工作。基本上,我有一个或两个非常小的网络服务,它们只与网络应用程序交互。这些服务返回 Uni . 现在我正
我正在开发一个使用 C++ 库的 java 应用程序。我的应用程序类型是客户端/服务器 RCP(基于 eclipse 插件)。问题是当我尝试将 2 个以上客户端连接到我的服务器时,它总是卡住。奇怪的是
来自The Java® Language Specification:的声明 An exception parameter of a uni-catch clause is never implici
在嵌入式系统中,由于各种合理的原因,趋势仍然没有完全转向多核处理器。 因此,了解单处理器系统使用各种机制和多线程功能的同步行为仍然很重要。此外,每当我接受采访时,他们都会问我有关特定 C 程序在 un
我编写了一个函数,目的是为字符串中的每个字母填充一个带有 uni 代码字符的数组。 但是我返回的结果是一个空值数组。 function rot13(str) { var splitString =
我在尝试在 .sql 数据库中获取数据源时遇到了 mySQL 问题。我正在运行 Ubuntu 15.10 并通过终端使用 mySQL。这是我获取数据库的过程: mysql -u root - p 输入
我是一名优秀的程序员,十分优秀!