{1} > {2} > {3} > {4}") public -6ren">
gpt4 book ai didi

java - 断言某些参数化 vector 会在 JUnit 中抛出异常?

转载 作者:搜寻专家 更新时间:2023-11-01 01:12:40 25 4
gpt4 key购买 nike

我想知道如何为特定的异常断言编写测试?

例如(我的测试数据容器):

@Parameters(name = "{index}: {0} > {1} > {2} > {3} > {4}")
public static Iterable<Object[]> data() {
return Arrays.asList(new Object[][] {
{"1200", new byte[] {0x4B0}, "1200", 16, 2},
{"10", new byte[] {0x0A}, "10", 8, 1},
{"13544k0", new byte[] {0x0A}, "1200", 8, 1}, <== assert thrown exception
{"132111115516", new byte[] {0x0A}, "1200", 8, 1},<== assert thrown exception
});
}

是否可以使用此类容器数据来断言异常,或者我需要在具体测试方法中对情况进行建模?

最佳答案

在 JUnit 4.7 之前,不可能像这样使用数据驱动测试,其中一些数据组合会产生异常,而另一些则不会。

可以创建两个不同的数据驱动测试,其中一个中的所有组合都不会产生异常,而另一个中的所有组合都会产生异常。

@Test(expected=YourException.class) 用于预期异常的测试,除非您需要额外的测试逻辑。 expected 注释参数不是很强大。

从 4.7 开始,有一个适用于它的 @Rule。有关详细信息,请参阅@eee 的回答。

关于java - 断言某些参数化 vector 会在 JUnit 中抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26854277/

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