В моих модульных тестах я должен создать заглушки с большим количеством свойств.
Поэтому у меня будет такой интерфейс:
interface Person {
id: string;
name: string;
age: number
...
}
Тогда мне придется создайте объект, который реализует этот интерфейс, и передайте некоторые значения каждому свойству. Разве у Jasmine нет функции, которая получает интерфейс и возвращает объект со значениями по умолчанию?
В приведенном выше примере я получу:
const stub: Person = createStubObj<Person>();
stub.id // ""
stub.name // ""
stub.getAge // 0
Я провел некоторые исследования, но не сделал ' Я не нашел ничего полезного.
createSpyObj , похоже, не помогает мне, потому что у меня нет функций, за которыми я хотел бы шпионить. Объект имеет только свойства.
Этот случай может произойти, когда HTTP-запрос возвращает сложный объект (множество свойств, вложенные свойства). Мне интересно, как я могу в этом случае высмеивать этот объект без необходимости указывать значение для каждого свойства.
Что-то похожее на то, что делает эта библиотека: https://www.npmjs.com/package/ts-auto-mock#usage
Мне интересно, может ли это быть достигнуто также в Жасмин или есть лучший подход