gpt4 book ai didi

kotlin - 在将模拟验证与断言库一起使用时,检查所有断言和验证

转载 作者:行者123 更新时间:2023-12-02 13:12:09 25 4
gpt4 key购买 nike

我希望测试报告所有断言和验证。因此,声明库(在这种情况下为mockk)声明的KotlinTest验证都应运行,而不要短路。

换句话说,我不想停止测试...

verify(exactly = 1) { mock.methodcall(any()) } // ... here
success shouldBe true // how can I check this line too

也不...
success shouldBe true // ... here
verify(exactly = 1) { mock.methodcall(any()) } // how can I check this line too

这该怎么做?我愿意只使用一种工具。

最佳答案

根据您的评论,您说您正在使用KotlinTest

我相信在KotlinTest中,您可以将 assertSoftly 用于所需的行为:

Normally, assertions like shouldBe throw an exception when they fail. But sometimes you want to perform multiple assertions in a test, and would like to see all of the assertions that failed. KotlinTest provides the assertSoftly function for this purpose.

assertSoftly {
foo shouldBe bar
foo should contain(baz)
}

If any assertions inside the block failed, the test will continue to run. All failures will be reported in a single exception at the end of the block.



然后,我们可以将您的测试转换为使用 assertSoftly:
assertSoftly {
success shouldBe true
shouldNotThrowAny {
verify(exactly = 1) { mock.methodcall(any()) }
}
}

有必要将 verify包装在 shouldNotThrowAny中,以使 assertSoftly在引发异常时意识到它

关于kotlin - 在将模拟验证与断言库一起使用时,检查所有断言和验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59269059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com