Tôi thích dễ đọc hơn/trực quan (theo ý kiến của tôi) sử dụng với các nhà điều hành instanceof.
class Parent {}
class Child extends Parent {}
let c = new Child();
expect(c instanceof Child).toBeTruthy();
expect(c instanceof Parent).toBeTruthy();
Vì mục đích hoàn chỉnh, bạn cũng có thể sử dụng nguyên mẫu constructor
thuộc tính trong một số trường hợp.
expect(my_var_1.constructor).toBe(Array);
expect(my_var_2.constructor).toBe(Object);
expect(my_var_3.constructor).toBe(Error);
// ...
BEWARE rằng điều này sẽ không hoạt động nếu bạn cần phải kiểm tra xem một đối tượng kế thừa từ khác hay không.
class Parent {}
class Child extends Parent {}
let c = new Child();
console.log(c.constructor === Child); // prints "true"
console.log(c.constructor === Parent); // prints "false"
Nếu bạn cần hỗ trợ thừa kế chắc chắn sử dụng instanceof
điều hành hoặc jasmine.any() chức năng như Roger gợi ý.
Object.prototype.constructor tham chiếu.
Nguồn
2017-06-19 14:05:16
bản sao có thể có của [Cách sử dụng Jasmine để kiểm tra xem một cá thể có được tạo không?] (Http://stackoverflow.com/questions/23062034/how-to-use-jasmine-to-test-if-an-instance -được tạo ra) – Chic