Javascript 如何在角度单元测试中设置HTML5模式?利用业力

Javascript 如何在角度单元测试中设置HTML5模式?利用业力,javascript,html,angularjs,gruntjs,karma-runner,Javascript,Html,Angularjs,Gruntjs,Karma Runner,好的,我在这件事上花了几个小时 我不知道如何在角度单元测试中设置HTML5模式 这是我的Grunfile.js中的Karma配置 这是我的单元测试规范文件:(参见第26行) 因此,我尝试在[ANgularJS documentation for$location URL here](第“HTML5模式”部分)的ANgularJS文档中运行单元测试,这是规范文件: PASTEBIN.COM斜线SQFr8Y7i 当我运行该^^^规范文件时,出现以下错误: Error: [$injector:unpr

好的,我在这件事上花了几个小时

我不知道如何在角度单元测试中设置HTML5模式

这是我的Grunfile.js中的Karma配置

这是我的单元测试规范文件:(参见第26行)

因此,我尝试在[ANgularJS documentation for$location URL here](第“HTML5模式”部分)的ANgularJS文档中运行单元测试,这是规范文件:

PASTEBIN.COM斜线SQFr8Y7i

当我运行该^^^规范文件时,出现以下错误:

Error: [$injector:unpr] Unknown provider: $locationProviderProvider <- $locationProvider

错误:[$injector:unpr]未知提供程序:$locationProviderProvider您可以这样做:

angular.module('testModule', []).config(['$locationProvider',
    function($locationProvider) {
        $locationProvider.html5Mode(true);
}]);

describe('module', function() {

    beforeEach(module(
        'testModule'
    ));

    it('should test url', function() {

    });
});

但是你真的需要在单元测试中激活这个功能吗?

就像我说的,我想让我的应用程序在html5模式下工作,所以我需要在启用/禁用模式下进行单元测试。还有一些指令应该在html4和html5模式下工作,所以我想测试一下。好的。你可以用我给youBixi的例子来激活/取消激活它,这是可行的,但现在的新问题是它抹去了我的应用程序的所有指令。我有一个名为directives.js的文件,其中包含类似“angular.module('MyAppModule').directive('activeNav',['$location',function($location){…}”在使用上述代码后,此指令不再在测试中加载。我如何包含此指令?我正试图使用html5模式开/关测试此指令。我刚刚给了你一个示例,你现在必须注入自己的依赖项(在beforeach中),不要忘了在karma配置文件中加载JS文件