问题标签 [zio-test]
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.
scala - 如何使用 zio-test 测试异常情况
我有以下功能,我想测试:
如果有一个人,则此函数返回 People id
,resp。如果没有,则失败,例如:
快乐的案例有效,例如:
但是我怎样才能测试失败案例呢?我尝试了不同的东西,主要是类型不匹配。这是一个尝试:
scala - 如何忽略 ZIO 测试中的套件或测试?
我找不到任何关于如何使用 ZIO 测试忽略套件或测试的信息。
无论是在示例中还是在文档中(https://zio.dev/docs/usecases/usecases_testing)
中有ignored
一个test package object
:
但是如何在您的代码中使用它?
我尝试了不同的事情,但没有成功。
scala - 如何断言错误类型中的单个字段?
假设我有这样的代码:
我想使用 ZIO Test 来检查特定的错误情况
我想做的是检查errorCode
特定值的字段。但似乎 ZIO Test 中现有的组合器只允许我检查完整的对象。我只想检查_.errorCode
while ignoring _.id
,这意味着equalTo
对于这个用例来说不是一个足够好的组合子。
我将如何解决这个问题?
scala - 有没有办法在布尔 ZIO 测试中添加描述性断言消息
我有几个Booleans
我想测试,比如
如果失败了,我得到的只是:
不知道哪条线失败了。有没有办法可以添加描述性断言消息。例如:
或首选:
会导致
还是有更好的测试方法Booleans
?
scala - 如何强制按顺序运行 ZIO 测试
我想按顺序运行两个集成测试。这如何在ZIO Test中实现?
这是套房:
ZIO Test并行运行这两个测试。有没有办法强制它们按顺序运行?
scala - 如何扩展 ZIO 测试的 TestEnvironment
我想测试以下功能:
如果环境只使用标准 ZIO 环境,例如Console with Clock
,则测试将开箱即用:
测试环境将由zio-test
.
所以问题是,如何用我的Loggings
模块扩展 TestEnvironment?
scala - How to correctly verify scheduled invocations in ZIO Test
I am new to ZIO and ZIO Test and I'd like to test a scheduling service I wrote under ZIO v1.0.0RC17:
The service(s):
The service of ModuleA should basically run the Service method of ModuleB once a day with the argument fed into ModuleA.Service.run.
The test I'd like to write:
I simplified the test using a counter, in reality I'd like to use mockito to verify the invocation count as well as the correct argument. However, this test does not work. In my understanding this is because of a race condition introduced by a timing overhead as described in https://zio.dev/docs/howto/howto_test_effects#testing-clock.
Now, there are examples of how to tackle this problem by using a Promise. I tried that by replacing the counter with a promise like so:
Using this, the test won't terminate. However, I am pretty sure I am using the promise wrongly.
How would one approach this test scenario correctly?
scala - ZIO Test 中的“测试正在使用时间,但没有提前测试时钟”
将我的测试迁移到 RC18 后,我收到以下警告并且测试挂起:
我有以下测试:
我怀疑我创建了错误的图层,因为这是我为迁移所做的唯一更改。
文档中的标准测试也失败了(时间为 0):
当我定义图层时:
val testLayer: ZLayer[Live, Nothing, Loggings with Blocking with Clock] = (Console.live >>> loggings.consoleLogger) ++ Blocking.live ++ Clock.live
时间完全没有调整。
这是我要测试的代码:
所以我想快进ZIO.sleep(3.seconds)
。
scala - 为什么无法在 ZIO 测试中提取变量中的图层
在为我的测试提供图层时,我偶然发现了这种奇怪的行为,即无法提取值中的图层。
此代码编译:
当我现在像这样提取图层时:
我得到以下编译异常:
这是ZIO Test的限制还是我错过了什么?
scala - 使用 ZIO Test 模拟任何值作为输入参数
我模拟以下功能:
对于结果,我不在乎输入。所以我的问题是,有没有办法用zio.test.mock
.
就像是:
(deployment
是输出)