空手道 DSL 空白响应通过测试

Karate DSL blank response passes tests

我有点困惑为什么我的测试通过了。我正在对我认为响应应该 return 的内容做一些断言。我得到一个成功的 200 状态和一个空的响应。以下所有断言都通过了:

    When method get
    * print response
    Then status 200
    And match response == '#notnull'
    And match each $[*] == { caption : '#string' }
    And match each $[*] contains { source : '#object' }
    And match each $[*].source contains {channels : '#present' }
    And match each $[*] contains { post : '#object' }

测试输出:

12:59:30.258 [main] INFO  com.dataminr.karate - [print] [
]

1 Scenarios (1 passed)
14 Steps (14 passed)
0m2.539s

A​​ match each 将始终传递一个空数组。把它想象成乘以 0。

只需添加:

And match response != []

或:

And match response != '#[0]'