小编arn*_*ton的帖子

使用AngularJS在app运行时加载内容时的单元测试

我需要我的应用程序在运行时通过HTTP端点运行一些配置.

我写了一个简单的服务来做到这一点:

module.factory('config', function ($http, analytics) {
    return {
        load: function () {
            $http.get('/config').then(function (response) {
                analytics.setAccount(response.googleAnalyticsAccount);
            });
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

接下来,我在我的app模块的运行块中调用此模块:

angular.module('app').***.run(function(config) {
        config.load();
    });
Run Code Online (Sandbox Code Playgroud)

应用程序运行时一切正常,但在我的单元测试中,我收到此错误:"错误:意外请求:GET/config"

我知道它意味着什么,但我不知道如何从运行块发生它时嘲笑它.

谢谢你的帮助

编辑添加规格

在每个之前调用它

beforeEach(angular.mock.module('app'));
Run Code Online (Sandbox Code Playgroud)

试过这个来模拟$ httpBackend:

beforeEach(inject(function($httpBackend) {

    $httpBackend.expectGET('/config').respond(200, {'googleAnalyticsAccount':});

    angular.mock.module('app')

    $httpBackend.flush();
}));
Run Code Online (Sandbox Code Playgroud)

但得到了:

TypeError: Cannot read property 'stack' of null
        at workFn (/Users/arnaud/workspace/unishared-dredit/test/lib/angular/angular-mocks.js:1756:55)
    TypeError: Cannot read property 'stack' of null
        at workFn (/Users/arnaud/workspace/unishared-dredit/test/lib/angular/angular-mocks.js:1756:55)
    TypeError: Cannot read property 'stack' of null
        at workFn (/Users/arnaud/workspace/unishared-dredit/test/lib/angular/angular-mocks.js:1756:55)
Run Code Online (Sandbox Code Playgroud)

自更新到AngularJS 1.0.6后编辑

由于我已经更新到AngularJS 1.0.6,由Angular团队的Igor建议,问题已经消失,但现在我已经有了这个,听起来更"正常",但我仍然无法弄清楚如何制作有用.

Error: Injector already created, …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

13
推荐指数
2
解决办法
1万
查看次数

Vagrant,共享文件夹:利用NFS上的inotify

我们的Symfony2 webapp在开发模式下使用Assetic观察器来重新编译资产.

webapp在Docker容器中运行,该容器在Vagrant VM(Ubuntu 12.04 Precise)中运行.主机是OSX 10.9 Mavericks,它通过NFS(v3)共享与VM共享代码文件夹,代码通过Docker中的主机/客户卷安装在容器中.

由于inotify似乎无法检测到NFSv3上的文件修改,因此观察者在轮询模式下工作,这种模式可能非常慢(检测到修改的时间约为1/2分钟).

我已经读过NFSv4符合inotify,但我没有找到任何好的资源.

有没有办法让NFS/inotify一起工作?

linux symfony vagrant assetic docker

12
推荐指数
2
解决办法
3953
查看次数

当URL包含片段时,iframe会导致父元素在Google Chrome上向上滚动

在Google Chrome(37.0.2062.122,OSX/Windows)上,带有包含片段的网址的iframe会导致父元素向上滚动.

它只发生在Chrome中(在Safari和Firefox中测试过).

这是一个显示问题的小提琴:http://jsfiddle.net/wmz5cu1y/1/(你必须点击Run 两次.)

如您所见,<body>包含iframe 的整体已向上滚动.标题是隐藏的,因为它现在位于窗口上方,并且页面底部有一个意外的空白区域.

怎么避免这个?

赏金提供了非js变通方法​​或简单的html文档来重现这个问题.

iframe溢出身体

html iframe google-chrome jsfiddle

10
推荐指数
3
解决办法
6053
查看次数

Javascript/AngularJS中的命名空间事件?

我想知道是否有一个使用AngularJS命名事件的命名约定?

jQuery的定义其约定作为event.namespace(与命名空间在,和隔板)

我看过一些文章(例子),其中事件的命名如下:( namespace::event开头有命名空间; 双冒号分隔符)

这个问题有一个共同的做法吗?

谢谢你的想法.

javascript naming-conventions angularjs

8
推荐指数
1
解决办法
1811
查看次数

芹菜:启动时的启动任务

我有一个需要在Celery启动时启动的任务.接下来通过回调/ eta每5分钟运行一次此任务.

我找到了一些关于它的线索,但似乎没有任何东西可用于Celery 3.

谢谢你的帮助,Arnaud.

python django crontab celery

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

Memcached:AWS Elasticache上的自动发现python支持?

我开始在我的django Web应用程序中使用AWS Elasticache.

我首先使用自动发现功能将缓存位置设置为唯一端点,但似乎不起作用.

我正在使用pylibmc(1.2.2)和django-pylibmc-sasl(0.2.4)连接到python的memcached.

自动发现功能是否适用于这些客户端?我该如何启用它?

python django memcached caching

7
推荐指数
2
解决办法
4194
查看次数

使用Google Drive API进行递归搜索

我正在使用Google Drive API v2。

我试图使用API​​中包含的一项功能来实现搜索功能。

似乎“ children.list”不是递归的,这意味着它不会遍历所有子文件夹。对于每个文件夹子引用,我是否必须通过多次调用API来实现?还是我在这里想念什么?

谢谢你的帮助。

google-drive-api

5
推荐指数
1
解决办法
1916
查看次数

Google App Engine/Drive SDK:捕获大量HTTP截止日期异常

我们的应用程序部署在Google App Engine,Python运行时(2.7)上,并且正在使用Drive API.HTTPException由于超过截止日期,在不同的端点(驱动器,OAuth等)上捕获的内容越来越多

我们已经实现了5次尝试的指数退避机制.我们的应用程序越来越多地达到了这个限制(今天早上,例如我们有很多这些例外).

这个问题可能是什么原因?是否可以增加超时延迟?

谢谢你的帮助.

这是一个完整的堆栈跟踪(OAuth2 API):

2013-06-07 21:11:10,851 ERROR An error occurred : Deadline exceeded while waiting for HTTP response from URL: https://accounts.google.com/o/oauth2/token
Traceback (most recent call last):
  File "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/s~unishared-gae/production.367909734400765242/main.py", line 733, in get
    creds = self.GetCodeCredentials() or self.GetSessionCredentials()
  File "/base/data/home/apps/s~unishared-gae/production.367909734400765242/main.py", line 301, in GetCodeCredentials
    creds = oauth_flow.step2_exchange(code)
  File "lib/oauth2client/util.py", line 128, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "lib/oauth2client/client.py", line 1283, in step2_exchange
    headers=headers)
  File "lib/httplib2/__init__.py", …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine google-api google-drive-api

5
推荐指数
1
解决办法
858
查看次数

在Chrome扩展程序中加载Google File Picker

我正在使用Chrome扩展程序,我想加载Google文件选择器。我已经在扩展程序中包含了JS API脚本(我将其直接包含在包中)。

当我尝试加载选择器时:

google.setOnLoadCallback(function() {
          var picker, view;
          view = new google.picker.View(google.picker.ViewId.DOCS);
          view.setMimeTypes("application/vnd.unishared.document");
          picker = new google.picker.PickerBuilder().setAppId(...").addView(view).setCallback(function() {}).build();
          return picker.setVisible(true);
        });
google.load('picker', '1');
Run Code Online (Sandbox Code Playgroud)

它重定向到空白页,控制台中未记录任何严重错误。是否可以在这种情况下加载此API?

javascript google-chrome-extension google-drive-api

5
推荐指数
0
解决办法
1004
查看次数

处理AngularJS中的路径更改

如果应用程序状态变脏,我正在努力处理后退按钮并向用户询问确认.关闭选项卡和重新加载已经通过onbeforeunload钩子处理.

我已经打了$routeChangeStart,$beforeRouteChange等,但不能正确地处理它.使用$routeChangeStart,在调用回调之前,路由会有效地更改.

处理这种情况的正确方法是什么?

谢谢你的帮助.

javascript angularjs

2
推荐指数
1
解决办法
4162
查看次数

AngularJS + Jasmine:间谍事件回调

我有问题spyOn方法绑定到具有范围.$ on的事件在工厂服务中,使用Jasmine.最初传递的真实方法被称为,而不是间谍.我做了一个plinkr:http://plnkr.co/edit/2RPwrw?p = preview

谢谢你的帮助.

javascript jasmine angularjs

2
推荐指数
1
解决办法
1222
查看次数