在Scala中,我想创建一个TestNG DataProvider,它将枚举的所有元素转换为数组,其中外部数组中的每个元素都是一个包含枚举值之一的数组。 / p>
这是我的第一次尝试,但它会返回一组数组。
@DataProvider(name = "profileIdProvider")
def provideProfiles() = {
for (profile <- ProfileId.values) yield Array(profile)
}
我需要它返回的是这样的:
Array(Array(value1), Array(value2))
答案 0 :(得分:4)
@DataProvider(name = "profileIdProvider")
def provideProfiles() = {
ProfileId.values.map(Array(_)).toArray
}
未经测试,但我认为应该有效。
答案 1 :(得分:2)
这样的事情应该做(当然修改为使用ProfileId.values):
def provideProfiles() = {
var returnVal = List[Array[Int]]()
for (profile <- 1 to 5) returnVal :+= Array(profile)
returnVal.toArray
}
当然,我更喜欢@ missingfaktor的答案。