Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Karate 空手道中特征文件的异步执行_Karate - Fatal编程技术网

Karate 空手道中特征文件的异步执行

Karate 空手道中特征文件的异步执行,karate,Karate,我有一个活动,我使用空手道模拟。 其中一个API返回一个响应,但在一段延迟后,它还会调用另一个API(模拟工作负载的处理) 我希望达到以下目标: Client --> Calls Karate Mock (Call A) Client <-- Karate Mock Returns ----Interaction ends here ---- After 30 seconds or so.. Client Listener <-- Karate Mocks Posts (Ca

我有一个活动,我使用空手道模拟。 其中一个API返回一个响应,但在一段延迟后,它还会调用另一个API(模拟工作负载的处理)

我希望达到以下目标:

Client --> Calls Karate Mock (Call A)
Client <-- Karate Mock Returns
----Interaction ends here ----

After 30 seconds or so..
Client Listener <-- Karate Mocks Posts (Call B)
Client-->调用空手道模拟(调用A)

客户端这应该很容易,实际上,使用Java线程,这个示例应该说明:

Scenario: pathMatches('/hardcoded')
    * def response = { hello: 'world' }
    * def fun = function(){ karate.log('*** before'); java.lang.Thread.sleep(5000); karate.log('*** after') }
    * eval new java.lang.Thread(fun).start()

请注意,JS
function(){}
会自动转换为Java runnable,这很方便。您应该能够使用
karate.call()
调用JS函数中的第二个功能,它可以完成您需要的文章。

纯粹的快乐,太棒了!非常感谢。
Scenario: pathMatches('/hardcoded')
    * def response = { hello: 'world' }
    * def fun = function(){ karate.log('*** before'); java.lang.Thread.sleep(5000); karate.log('*** after') }
    * eval new java.lang.Thread(fun).start()