单元测试角度控制器以及相应的模板

时间:2015-10-19 11:37:44

标签: unit-testing controller jasmine karma-jasmine

我想测试我的角度控制器及其模板。但没有找到加载模板的方法。即使我正在使用控制器的范围编译我的模板,我也无法在模板中找到元素。

我的控制器:

    angular.module("myapp").controller("controller", ['$scope',  controller]);
        function controller($scope) {
    //Code
    }

模板:

    <html><body>
    <p id="test">This is test content</p>
    </body></html>

我的测试用例:

    it("Testing ui elements", function(){

                var controller = createController();

                expect($scope.loading).toBeFalsy();

                var element = $compile(listTemplate)($scope);
                $scope.$digest();
                console.log(element.find('#test').html());
            });

输出:

    LOG: undefined

1 个答案:

答案 0 :(得分:0)

我改变了我的创建控制器方法,如下所示。

createController = function() {
            var element = angular.element("<div id='controller' ng-controller='controller'></div>");
            element.append(listTemplate);
            $compile(element)($scope);
            angular.element('body').append(element);
            $scope = element.scope();
        };

现在我可以通过ID获取元素$(&#39; #test&#39;)。html();