我有这个方法
sed
我的@TestFactory
Stream<DynamicTest> dynamicTestsFromStream() throws IOException {
initialize();
return Stream.of(core).map(
str -> DynamicTest.dynamicTest("test" + str.toString(), () -> { Just for Testing > Assert.assertTrue(false); }));
}
数组包含core
类型的元素。 Tuple4
。
当我尝试添加名称时(我想要Tuple4(String a, String b, String c, String d)
)我收到错误,在当前示例中我的
String c
的结果是:str
有人可以告诉我如何为str添加正确的索引吗?因为Tuple4@4d50efb8, Tuple4@7e2d773b, Tuple4@2173f6d9
不起作用,因为我无法获得当前的位置?
修改
当我放get(int)
时
测试的名称为“测试A”......
那么如何给Stream.of("A","B","C").map(...);
一个数组(对象)命名测试?
答案 0 :(得分:2)
使用Stream.of(SomeType[])
,您将面临获得仅包含单个元素(即数组)的流的风险。请改用Arrays::stream
。
假设core
的类型为Tuple4[]
(如果不是,请在问题中包含实际类型),您可以执行以下操作:
@TestFactory
Stream<DynamicTest> dynamicTestsFromStream() throws IOException {
initialize();
return Arrays.stream(core) // Stream<Tuple4>
.map(tuple -> DynamicTest.dynamicTest(
"test " + tuple.c,
() -> { Assert.assertTrue(false); }
));
}