这是检验失败效果的最惯用的方法吗?
def spec = suite("LookupPositionProviderSpec")(
suite("determinePosition")(
test("Unknown hints lead to 'NoPositionDetermined'") {
for exit <- LookupPositionProvider.determinePosition(Seq(GsmFixtures.cellHintTowerGsm1.copy(cid = 4711))).exit
yield assert(exit)(
fails(
equalTo(
ProviderError(
Lookup,
NoPositionDetermined,
Some("No position could be determined from List(CellHint(GSM,4711,Some(5891),Some(-70),None,None,None))")
)
)
)
)
}.provide(TestLayers.findsNothingLookupPositionProvider)
)
) 我看到了这个老问题(How to test an exception case with zio-test),但我不确定自那以后ZIO 2是否发生了变化以及发生了什么变化。
发布于 2022-09-08 05:59:10
亚当在“不和”(https://discord.com/channels/629491597070827530/630498701860929559?fingerprint=1007186113041006615&attemptId=31b120fc-90de-4937-af0b-46db03424f24)上回答了这个问题:
“是的,退出,然后断言(退出)(失败(?))肯定是这样。如果你想断言它确实失败了,看起来很棒。如果你只想断言它失败了,而不关心失败,你可以失败(任何事情),或者你可以使用任何其他的断言。”
https://stackoverflow.com/questions/73635515
复制相似问题