空手道 - 如何在场景中使用睡眠?

Sta*_*ter 5 unit-testing karate

当我需要使用睡眠时,我有一个场景。但是当我运行这个函数时,我收到错误。它以前可以工作,但我很久以前没有运行此测试,当我再次运行此测试时,我收到此错误。这是我的场景之一:

  Scenario: test sleep
    * def sleep = function(pause){ java.lang.Thread.sleep(pause*1000) }
    * url 'http://someURL:8080/api/v1/'

    Given path 'endpoint/' + 470538
    When method get
    Then status 200

    * call sleep(20)
Run Code Online (Sandbox Code Playgroud)

睡眠功能看起来可以工作,但在测试结束时我得到测试失败:

not a callable feature or js function: [type: NULL, value: null]
Run Code Online (Sandbox Code Playgroud)

您能帮我解决这个问题吗?

Pet*_*mas 2

不需要call,请阅读文档:

Scenario:
* def sleep = function(pause){ java.lang.Thread.sleep(pause*1000) }
* print 'before'
* sleep(5)
* print 'after'
Run Code Online (Sandbox Code Playgroud)

也就是说 - 是的,call会起作用,但像这样:

Scenario:
* def sleep = function(pause){ java.lang.Thread.sleep(pause*1000) }
* print 'before'
* call sleep 5
* print 'after'
Run Code Online (Sandbox Code Playgroud)