在Robot Framework中执行断言的最佳方法是什么?

时间:2019-09-19 07:59:18

标签: java junit robotframework assertion

我正在将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))
    }
}

谢谢!

1 个答案:

答案 0 :(得分:6)

在大多数用例中,您不需要外部库(尤其是Java库),而是检查BuiltInCollections库中的内容。
您必须显式导入后者,而BuiltIn始终可用。

名称中带有“应该”的所有关键字均为断言-Should Be TrueShould Contain(用于成员资格-适用于列表,字典,字符串-任何容器),List Should Contain Sub List,甚至有一些在参数-Should Be Equal As Numbers上进行类型转换。

在其他(外部)库中(例如,在SeleniumLibrary中,遵循此模式(“应该”被断言)。