我正在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)