невозможно понять ошибку при обработке ошибки Boom в Jest ожидаемо

Проблема заключается в том, что Map имеет два значения (ключ и значение), тогда как List имеет только одно значение (элемент).

Поэтому лучшее, что можно сделать, это либо получить List ключей, либо значения. (Если мы не сделаем обертку для привязки к паре ключ / значение).

Скажем, у нас есть Map:

Map m = new HashMap();
m.put("Hello", "World");
m.put("Apple", "3.14");
m.put("Another", "Element");

Клавиши в качестве List могут получить ArrayList из Set , возвращенного методом Map.keySet :

List list = new ArrayList(m.keySet());

Хотя можно получить значения как List, создавая новый ArrayList из Collection , возвращенный методом Map.values :

List list = new ArrayList(m.values());

Результат получения List ключей:

Apple
Another
Hello

Результат получения List значений:

3.14
Element
World

0
задан user22197 28 February 2019 в 18:06
поделиться

1 ответ

Согласно документам Джеста вы можете использовать toThrow с классом в качестве аргумента, который проверит, является ли выданная ошибка экземпляром этого класса. Таким образом, вы можете (проверено в соответствии с этим ):

const Boom = require('boom');
...
// mind `.rejects`
const rejected = expect(isAuthorized(request, h)).rejects;
rejected.toThrow(Boom);
rejected.toThrow('unauthorized');
0
ответ дан Stock Overflaw 28 February 2019 в 18:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: