相关疑难解决方法(0)

单元测试Angular中$ sce.trustAsHtml的输出

我正在Angular中编写一个REST应用程序,我想为它编写单元测试(当然!).我有一个控制器,它从json中的REST服务获取博客文章列表,并将摘要放入$ scope,因此我可以在视图中显示它们.

起初,博客帖子只是显示为文本<p>Blog body</p>,而不是渲染为解析的HTML,直到我发现你可以将ng-bind-html$ sce服务结合使用.这在正确显示博客文章方面现在可以正常工作.

单元测试时会出现问题.我试图用一些HTML模拟一个json响应,然后测试我的控制器是否正确处理HTML.这是我的代码:

调节器

.controller( 'HomeCtrl', function HomeController( $scope, $http, $sce ) {
    $scope.posts = {};
    $http.get('../drupal/node.json').success(function (data) {
        var posts;
        posts = data.list;

        for(var i = 0; i < posts.length; i ++) {
            posts[i].previewText = $sce.trustAsHtml(posts[i].body.summary);
            posts[i].created = posts[i].created + '000'; // add milliseconds so it can be properly formatted 
        }
        $scope.posts = posts;
    });
})
Run Code Online (Sandbox Code Playgroud)

单元测试

describe('HomeCtrl', function() {
    var $httpBackend, $rootScope, $sce, createController;

    beforeEach(inject(function ($injector) {
        // Set …
Run Code Online (Sandbox Code Playgroud)

unit-testing jasmine angularjs karma-runner

18
推荐指数
3
解决办法
1万
查看次数

标签 统计

angularjs ×1

jasmine ×1

karma-runner ×1

unit-testing ×1