茉莉花单元测试。 ng-model似乎没有更新

时间:2016-10-04 11:57:48

标签: angularjs unit-testing jasmine karma-jasmine

我有一个单元测试,我正在使用$ 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
                    }));

                });
            });
        });
    });

你知道我做错了什么吗?

提前致谢!

0 个答案:

没有答案