match x contains y
работает с типами x
и y
. Если эти два типа array
, то содержит означает, что массив x
содержит все значения массива y
.
Пример:
Scenario: Contains with arrays
* def x = ["test", "abc"]
* def y = ["test"]
* def z = ["abc"]
* match x contains y
* match x contains z
Если x
и y
- это строки, то есть означает, что строка y
находится в x
, x
содержит y
. Имеет ли это смысл?
Пример:
Scenario: Contains with string
* def x = "test abc"
* def y = "test"
* def z = "abc"
* match x contains y
* match x contains z
Вы пытаетесь смешать эти вещи. У вас есть массивы, но вы хотите применить строку содержит значения массива. Это не работает, потому что каратэ не знает, что вы хотите применить содержит значения одного массива.
Обходной путь может быть:
Scenario: Test array value contains string
* def x = ["test abc"]
* def y = ["test"]
* match x[0] contains y[0]
это тебе поможет?