我正在将Robot Framework与Java一起使用。我的问题是: 在Robot Framework中执行断言的最佳方法是什么? 我应该导入JUnit(或类似的库)并在自己的关键字中使用if断言吗?
有一个用于断言的关键字库吗?我的意思是一个包含如下关键字的库:
#!/usr/bin/env groovy
def getSomeFunction = { arg ->
// returns the closure with your task, function, run with the chosen parameter
return {
println(arg)
}
}
def getParalellBlock = { number ->
def myList = ['a', 'b', 'c', 'd'] // your list of items
def blockMap = [:]
1.upto(number, {
// Make sure to handle 'index out of range' kind of problems
blockMap.put(it.toString(), getSomeFunction(myList[it-1]))
})
return blockMap
}
node() {
stage('tasks') {
// you can supply the parameter from job parameters
parallel(getParalellBlock(3))
}
}
谢谢!
答案 0 :(得分:6)
在大多数用例中,您不需要外部库(尤其是Java库),而是检查BuiltIn和Collections库中的内容。
您必须显式导入后者,而BuiltIn始终可用。
名称中带有“应该”的所有关键字均为断言-Should Be True
,Should Contain
(用于成员资格-适用于列表,字典,字符串-任何容器),List Should Contain Sub List
,甚至有一些在参数-Should Be Equal As Numbers
上进行类型转换。
在其他(外部)库中(例如,在SeleniumLibrary中,遵循此模式(“应该”被断言)。