我想写一个参数化测试,它可以帮助MethodSource生成一个随机值序列。现在我想知道,是否有任何声明性的方法来限制测试运行的数量。
@ParameterizedTest
@MethodSource("create64RandomBytes")
// @SomeLimitAnnotation(100) wanted here
void testStuff(byte[] randomBytes) {
// ...
}
static Stream<Arguments> create64RandomBytes() {
Random rnd = new Random(42l);
return Stream.generate(() -> {
byte[] bytes = new byte[64];
rnd.nextBytes(bytes);
return Arguments.of(bytes);
}).limit(100); // I want to avoid this "limit" call
}
当然,我可以限制流中项目的数量,但由于@MethodSource
是为消费流而构建的(JUnit开发人员肯定知道无限流),我想知道是否有更好的方法来做到这一点。
TLDR:我可以在我的测试方法上用注解替换limit(100)
调用吗?
1条答案
按热度按时间np8igboo1#
以下内容对你有好处吗?