我有一个单元测试,我正在使用$ compile测试指令。我想插入一些值,看看它是否显示在其他地方。但不知怎的,我的测试失败了! “期待''成为'某事'。”我尽可能简单地解决了这个问题:
define(['angular'],
function () {
'use strict';
describe('test App: ', function () {
describe('Given x ', function () {
var $rootScope, $scope, $compile;
beforeEach(inject(['$injector', function ($injector) {
$compile = $injector.get('$compile');
$rootScope = $injector.get('$rootScope');
$scope = $rootScope.$new();
}]));
describe('y', function () {
it('z', inject(function () {
var element = $compile('<div><input type="text" ng-model="foobar"><span>{{foobar}}</span></div>')($scope);
$scope.$digest();
var inputElement = element.find('input');
inputElement.val('something').triggerHandler('input');
inputElement.triggerHandler('blur');
$scope.$digest();
inputElement = element.find('input');
expect(inputElement.val()).toBe('something'); // This one succeeds
var spanElement = element.find('span');
expect(spanElement.html()).toBe('something'); // this one fails
}));
});
});
});
});
你知道我做错了什么吗?
提前致谢!