Проблема заключается в том, что 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
Согласно документам Джеста вы можете использовать toThrow
с классом в качестве аргумента, который проверит, является ли выданная ошибка экземпляром этого класса. Таким образом, вы можете (проверено в соответствии с этим ):
const Boom = require('boom');
...
// mind `.rejects`
const rejected = expect(isAuthorized(request, h)).rejects;
rejected.toThrow(Boom);
rejected.toThrow('unauthorized');