1

AngularJS 书有一个名为“guthub”的完整示例应用程序。在该应用程序中定义了一个名为“guthub.services”的模块中的各种服务。但是,没有示例说明如何正确测试与“guthub”不同的模块中的服务。在我的应用程序中,应用程序模块的定义如下:

angular.module('SSAApp', ['SSAApp.services']);

我可以像这样正确访问服务模块:

var services = angular.module('SSAApp.services');

我的服务在我运行应用程序时工作。但是当我尝试通过 Karma 运行测试时,它失败并出现错误:未捕获错误:无模块:SSAApp.services

如何正确编写可以找到“SSAApp.services”的测试函数?我相信 Yeoman 生成的代码假定所有内容都卡在一个模块下。

4

1 回答 1

0

使您正在运行:

beforeEach(module('SSAApp.services'));
beforeEach(module('SSAApp'));

在测试的第一个describe块中。我不记得你是否需要运行第一个,但你确实需要运行第二个。还要记住SSAApp.services在用于测试的主要 index.html 中包含脚本。我确实花时间调试这样的问题,并意识到我忘了包含一个文件。

于 2013-09-21T23:26:16.770 回答