问题标签 [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.

0 投票
6 回答
2465 浏览

scala - 如何使用 zio-test 测试异常情况

我有以下功能,我想测试:

如果有一个人,则此函数返回 People id,resp。如果没有,则失败,例如:

快乐的案例有效,例如:

但是我怎样才能测试失败案例呢?我尝试了不同的东西,主要是类型不匹配。这是一个尝试:

0 投票
1 回答
579 浏览

scala - 如何忽略 ZIO 测试中的套件或测试?

我找不到任何关于如何使用 ZIO 测试忽略套件或测试的信息。

无论是在示例中还是在文档中(https://zio.dev/docs/usecases/usecases_testing

中有ignored一个test package object

但是如何在您的代码中使用它?

我尝试了不同的事情,但没有成功。

0 投票
2 回答
234 浏览

scala - 如何断言错误类型中的单个字段?

假设我有这样的代码:

我想使用 ZIO Test 来检查特定的错误情况

我想做的是检查errorCode特定值的字段。但似乎 ZIO Test 中现有的组合器只允许我检查完整的对象。我只想检查_.errorCodewhile ignoring _.id,这意味着equalTo对于这个用例来说不是一个足够好的组合子。

我将如何解决这个问题?

0 投票
1 回答
275 浏览

scala - 有没有办法在布尔 ZIO 测试中添加描述性断言消息

我有几个Booleans我想测试,比如

如果失败了,我得到的只是:

不知道哪条线失败了。有没有办法可以添加描述性断言消息。例如:

或首选:

会导致

还是有更好的测试方法Booleans

0 投票
1 回答
571 浏览

scala - 如何强制按顺序运行 ZIO 测试

我想按顺序运行两个集成测试。这如何在ZIO Test中实现?

这是套房:

ZIO Test并行运行这两个测试。有没有办法强制它们按顺序运行?

0 投票
2 回答
286 浏览

scala - 如何扩展 ZIO 测试的 TestEnvironment

我想测试以下功能:

如果环境只使用标准 ZIO 环境,例如Console with Clock,则测试将开箱即用:

测试环境将由zio-test.

所以问题是,如何用我的Loggings模块扩展 TestEnvironment?

0 投票
1 回答
436 浏览

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?

0 投票
1 回答
935 浏览

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)

0 投票
1 回答
652 浏览

scala - 为什么无法在 ZIO 测试中提取变量中的图层

在为我的测试提供图层时,我偶然发现了这种奇怪的行为,即无法提取值中的图层。

此代码编译:

当我现在像这样提取图层时:

我得到以下编译异常:

这是ZIO Test的限制还是我错过了什么?

0 投票
1 回答
371 浏览

scala - 使用 ZIO Test 模拟任何值作为输入参数

我模拟以下功能:

对于结果,我不在乎输入。所以我的问题是,有没有办法用zio.test.mock.

就像是:

deployment是输出)