可以说我在功能js文件中创建了javascript函数。
function getReviews(reviews){
var length_reviews = reviews.length
return length_reviews
}
function getReviewsLength(reviewLength){
return reviewLength
}
函数getReviews
中的参数reviews
是一个数组。
现在,我将如何在一个功能文件中调用getReviews
函数。
当我尝试以下代码时
* def jsFunction = call read('functions.js')
* def review = jsFunction.getReviews(reviewFromFeatureFile)
我收到
Cannot read property "length" from undefined
我已经打印了reviewFromFeatureFile
,并且它正确显示在打印语句中。
答案 0 :(得分:1)
正如Peter前面提到的,您可以使您的js内联在功能上
* def reviews = [{"r1":2},{"r1":3},{"r1":4}]
* def getReviews = function(reviews){ return reviews.length }
* def getReviewsLength = getReviews(reviews)
* print getReviewsLength
在此示例中,它应打印3。
有关在空手道中处理javascript或其他可重用模块的更多其他选项,请参阅本文
答案 1 :(得分:0)
在一个“通用”功能文件中,定义如下多个方法:
* def uuid = function(){ return java.util.UUID.randomUUID() + '' }
* def now = function(){ return java.lang.System.currentTimeMillis() }
您现在可以像这样调用此功能:
* call read('common.feature')
现在该功能中的所有功能都可以使用:
* def id = uuid()
* def time = now()