小编Tho*_*ski的帖子

茉莉花控制器测试,预计间谍被称为

我有一个在AngularJS控制器中定义的方法,在初始化时调用.我想用Jasmine("jasmine-core": "^2.3.4", "karma": "^0.12.37")测试它.我在互联网和StackOverflow问题上遵循一些教程,但我找不到正确的答案.请看一下这段代码:

控制器usersAddUserController:

(function () {
    'use strict';

    angular.module('app.users.addUser')
        .controller('usersAddUserController', ['$scope', 'usersAddUserService', function ($scope, usersAddUserService) {

            usersAddUserService.getCountryPhoneCodes().then(function (phoneCodes) {
                $scope.phoneCodes = phoneCodes;
            });

        }]);
}());
Run Code Online (Sandbox Code Playgroud)

茉莉花测试:

(function () {

    'use strict';

    describe('usersAddUserControllerUnitTest', function () {
        var scope, deferred, objectUnderTest, mockedAddUserService;

        beforeEach(module('app'));

        beforeEach(inject(function ($rootScope, $q, $controller) {
            scope = $rootScope.$new();

            function emptyPromise() {
                deferred = $q.defer();
                return deferred.promise;
            }

            mockedAddUserService = {
                getCountryPhoneCodes: emptyPromise
            };

            objectUnderTest = $controller('usersAddUserController', {
                $scope: scope,
                usersAddUserService: mockedAddUserService
            });
        })); …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs karma-jasmine

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

为无状态Web应用程序实现websocket队列

我想听听您的意见,当没有用户会话(无状态,安静的Web应用程序)时,使用Spring和STOMP协议实现websocket队列的最佳选择是什么.

根据这个解释:https://stackoverflow.com/a/31577152/3076403我知道Spring将使用queue我们使用的simpMessagingTemplate.convertAndSendToUser(...)方法并传递与会话ID相关联的用户名.否则它将使用a topic,其中所有订阅的客户端最终将读取从服务器返回的相同消息.

就我而言,我有一个带有Angular UI部分的RESTful应用程序.我想在UI端实现进度条.最初,UI使用先前确定的给定ID将消息发送到服务器,例如:{id: 20}.

然后,UI必须监听返回的模型对特定ID的更改并计算内部处理的进度.消息返回如下所示:{id: 20, timeLeft: 30, totalTime: 60}

因此,对于将订阅服务器上的websocket频道的每个Angular应用程序,它应该给出不同的结果.

由于我在应用程序中没有会话并且必须在服务器上实现websocket队列,您是否知道使用Spring和STOMP协议的其他解决方案与我最近提出的解决方案不同:

弹簧: simpMessagingTemplate.convertAndSend("/ui/progress/"+id, ...)

UI ng-stomp: $stomp.subscribe("/ui/progress/"+id, function(...))

我知道这将是一个"假"主题,而不是排队.任何评论和想法赞赏.

java spring stomp websocket

6
推荐指数
0
解决办法
461
查看次数

标签 统计

angularjs ×1

java ×1

javascript ×1

karma-jasmine ×1

spring ×1

stomp ×1

websocket ×1