Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ngResource access内部函数的角度测试如何有效_Javascript_Angularjs_Testing_Jasmine_Karma Runner - Fatal编程技术网

Javascript ngResource access内部函数的角度测试如何有效

Javascript ngResource access内部函数的角度测试如何有效,javascript,angularjs,testing,jasmine,karma-runner,Javascript,Angularjs,Testing,Jasmine,Karma Runner,当您查看ngResource的测试用例时,您会看到: describe('isValidDottedPath', function() { /* global isValidDottedPath: false */ it('should support arbitrary dotted names', function() { expect(isValidDottedPath('')).toBe(false); expect(isValidDottedPath('1'

当您查看
ngResource
的测试用例时,您会看到:

describe('isValidDottedPath', function() {
  /* global isValidDottedPath: false */
  it('should support arbitrary dotted names', function() {
     expect(isValidDottedPath('')).toBe(false);
     expect(isValidDottedPath('1')).toBe(false);

他们如何在这些测试中访问函数
isvalidTottedPath
?该函数在ngResource文件内部定义。是因为他们把这个函数放在了全局名称空间上吗?然后我假设当他们构建并发布它时,他们会将它包装在一个IIFE中,然后这些测试就不可能了,对吗?将这些函数放在全局命名空间中进行测试似乎有点愚蠢。

你的假设是对的,但你的态度是错的。这看起来有点粗鲁。我不是想说angular团队很愚蠢,我只是想理解为什么这是一个在全局名称空间中放置东西的好地方当它作为一个模块构建时,它不在全局对象上。在内部,每个模块都可以有全局通用函数、变量和常量。资源只是一个文件,所以这不是一个很好的例子,但是看看这个文件来理解angular团队的设计:啊。非常感谢。这为我指明了正确的方向@IlanFrumer