Проблема в том, что насмешка в TypScript может оказаться сложной, если объект достаточно сложный (хорошо на любом строго типизированном языке). Обычно вы издеваетесь над некоторыми дополнительными материалами, чтобы сделать компиляцию кода и, например, в C#, вы можете использовать AutoFixture или подобное. С другой стороны, Javascript - это динамический язык, и есть возможность высмеять только часть объекта, которая необходима для запуска теста.Издевательствование в модульных тестах TypScript
Так что в тесте Unitcript я могу объявить свою зависимость, используя тип any
и, таким образом, легко издеваться над ней. Вы видите какие-то недостатки такого подхода?
let userServiceMock: MyApp.Services.UserService = {
// lots of thing to mock
}
против
let userServiceMock: any = {
user: {
setting: {
showAvatar: true
}
}
}
я написал статью, сравнивая две библиотеки: https://medium.com/@michal.m.stocki/when-it-comes-to-mocking-in-typescript-be8531d39327 – Terite
Я написал мой собственный инструмент, который справляется с этой же проблемой, и мне хотелось бы получить от него некоторые отзывы: https://medium.com/default-to-open/unit-testing-with-angular-and-ineeda-76746a0c8f58 – phenomnomnominal