Vấn đề là việc nhạo báng trong Typescript có thể trở nên phức tạp nếu đối tượng đủ phức tạp (cũng như trong bất kỳ ngôn ngữ gõ mạnh nào). Bạn thường sẽ thử một số công cụ bổ sung chỉ để biên dịch mã và trong C# chẳng hạn, bạn có thể sử dụng AutoFixture hoặc tương tự. Mặt khác Javascript là ngôn ngữ động và chỉ có thể giả lập một phần của đối tượng cần thiết để chạy thử nghiệm.Mocking trong các bài kiểm tra unitcript Unit
Vì vậy, trong thử nghiệm đơn vị Loại, tôi có thể khai báo sự phụ thuộc của tôi bằng cách sử dụng loại any
và do đó dễ dàng giả lập nó. Bạn có thấy bất kỳ hạn chế của cách tiếp cận như vậy?
let userServiceMock: MyApp.Services.UserService = {
// lots of thing to mock
}
vs
let userServiceMock: any = {
user: {
setting: {
showAvatar: true
}
}
}
tôi đã viết một bài báo so sánh hai thư viện: https://medium.com/@michal.m.stocki/when-it-comes-to-mocking-in-typescript-be8531d39327 – Terite
Tôi đã viết công cụ của riêng tôi xử lý vấn đề tương tự này và tôi muốn một số phản hồi về vấn đề này: https://medium.com/default-to-open/unit-testing-with-angular-and-ineeda-76746a0c8f58 – phenomnomnominal