angularjs - 使用 Grunt 进行 Angular js 测试

标签 angularjs jasmine yeoman gruntjs

我在我的 angularjs 项目中运行测试时遇到问题 - 当我运行“grunt test”时,我得到:

ReferenceError: io is not defined

我通过端口 3000 在本地运行服务器,这是一个 node.js socket.io 服务器 并在 index.html 中实现

<script src="http://localhost:3000/socket.io/socket.io.js"></script>

这是我正在测试的功能:

$scope.editProject = function (dat) {
      $http({
        method: 'PUT',
        url: 'http://some.net/api/project/' + $routeParams.Id,
        data: angular.toJson(dat),
        headers: {'Content-Type': 'application/json'}
      })
      .success(function(d) {
        var time = $filter('date')(new Date(), 'dd/MM HH:mm:ss');
        var loc = '/project/' + $routeParams.Id;
        var head = {
          User : $rootScope.UserInfo.Username,
          Message: 'Some message ',
          Name : dat.ProjectName,
          url: loc,
          date: time,
          icon : 'icon-th-list'
        };
        socket.emit('UpdateHeader', head );
        $location.url('/project/' + $routeParams.Id);
      });
    };

最佳答案

安装最后Yeoman在你的项目上,它解决了你的问题。这将安装 GruntBower自动地。之后,您可以使用 bower 安装 socket.io 客户端。

grunt test                        # test your app
grunt server                      # preview your app
grunt                             # build the application for deployment

使用Bower component更多包裹。

关于angularjs - 使用 Grunt 进行 Angular js 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16546428/

相关文章:

node.js - 哟 Angular 误差?

sass - 我如何使用 yeoman 处理 Sass 文件?

angularjs - 自定义 req.session 属性值的更新似乎持续得不够快

css - GH 页面看不到我的图像的路径

angularjs - angular.mock.module 和 angular.mock.inject 函数在 jasmine 的 beforeAll 中不起作用

javascript - 如何使用 Jasmine 在 javascript 中模拟新函数/对象创建调用?

angular - Angular 中的单元测试点击事件

node.js - Yeoman for Angular,然后 "grunt serve"将无法启动

javascript - 如何使用 ng-repeat 将 API 调用返回到 View 的对象数量设为 'print'?

javascript - 如何从 Web url 加载元数据,类似于我们在状态更新上发布 url 时 facebook 所做的事情...?