如何使用lambdas进行测试失败的断言消息?

问题描述 投票:0回答:1

failed。 ,例如,如果我在testng中有一个: Optional<Data> data = ...; assertTrue(data.isEmpty(), data.get().toString());

如果测试应通过,它将导致例外。在Junit 5中,我可以使用此方法:

data
仅在具有数据的情况下才能运行。没有例外,单位检验正常运行。
我知道我可以混合测试和junit,但我宁愿不这样做,因为它会变得令人困惑(例如,切换了许多相同命名的断言的参数顺序)。

有可能在Testng中进行此操作,也许还有另一个库,它扩展了testng?

您应该能够使用
Optional<Data> data = ...; assertTrue(data.isEmpty(), () -> data.get().toString());

库来执行此操作。

Https://assertj.github.io/doc/#assertj-core-quick-start

这里是一个样本。仅在发生故障时才调用错误消息供应商。

data.get().toString()

testng junit5
1个回答
0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.