Tôi đang xây dựng các thử nghiệm chỉ thị trong Angular sử dụng Jasmine. Tôi có một bài kiểm tra ví dụ nhỏ mà trông như thế này:Thử nghiệm góc với Jasmine không thể so sánh nút html
it("should compare html node", inject(function ($compile, $rootScope) {
var elm = angular.element('<input>');
elm = $compile(elm)($scope);
$scope.$digest();
console.log('btn', elm); // output: '<input class="ng-scope">'
expect(elm).toBe('<input class="ng-scope">');
expect(elm[0]).toBe('<input class="ng-scope">'); // these also fail
expect(elm.html()).toBe('<input class="ng-scope">'); // ""
}));
Vì vậy, tôi nhận được đầu ra dự kiến ra cửa sổ Console, nhưng Jasmine phàn nàn với một lỗi Expected { length: 1, 0: HTMLNode } to be '<input class="ng-scope">'
Tôi cũng đã cố gắng sử dụng elm[0]
mang đến cho các lỗi tương tự và elm.html()
nhưng điều đó chỉ trả về một chuỗi rỗng. Làm thế nào tôi có thể so sánh nút HTML với chuỗi chính xác?
NB Tôi biết đây là một thử nghiệm không thực tế, nhưng tôi chỉ muốn giới thiệu vấn đề hiện tại của mình.
có thể thử elm [0] .outerHTML – hassassin
Wow! Điều này thực sự hoạt động. Tôi có thể tìm thấy nó được ghi lại trong API (https://docs.angularjs.org/api/ng/function/angular.element). Nếu bạn muốn làm cho nó thành một câu trả lời tôi sẽ chấp nhận. Cảm ơn. –