Тест по каратэ - есть ли способ сделать «или» в «соответствовать каждому»? - PullRequest
0 голосов
/ 23 марта 2020

У меня есть что-то вроде следующего. Можно ли заставить каратэ сделать "или" матч для foo и bar?

Значение - foo начинается с fooStartWithChar ИЛИ bar начинается с barStartWithChar

And match each response ==
    """
    {
      foo: '#? { _.charAt(0) == fooStartWithChar}',
      bar: '#? { _.charAt(0) == barStartWithChar}',
    }
    """

Ответы [ 2 ]

2 голосов
/ 23 марта 2020

Иногда ваш старый друг JS (+ Java):

* def response = [{ foo: 'aa', bar: 'bb' }, { foo: 'ax', bar: 'by' }]
* def isValid = function(x){ return x.foo.startsWith('a') || x.bar.startsWith('b') }
* match each response == '#? isValid(_)'
1 голос
/ 23 марта 2020
* def nameStartsWith = function(x) { return x.foo.charAt(0) == fooStartWithChar || x.bar.charAt(0) == barStartWithChar}
And match each response == '#? nameStartsWith(_)'
...