Mat*_*son 4 unit-testing signalr angularjs karma-runner
我正在使用 Karma v 0.8.6 在我的 AngularJS 项目上运行单元测试。在项目中,我使用的是 SignalR v 1.1.3。为了使用 SignalR,我注册了集线器:
<script src="/signalr/hubs"></script>
Run Code Online (Sandbox Code Playgroud)
这在运行 Jasmine SpecRunner.html 时工作正常。但是,我无法弄清楚如何在 Karma 中进行等效操作。我收到以下错误:
Chrome 31.0 (Windows): Executed 48 of 266[31m (29 FAILED)[39m
[1A[2K[31mChrome 31.0 (Windows) Field service query() should make get request to api/ParamSetting FAILED[39m
Error: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.
Run Code Online (Sandbox Code Playgroud)
我的 karma.conf.js:
// list of files / patterns to load in the browser
files = [
JASMINE,
JASMINE_ADAPTER,
'js/jquery-*.js',
'js/angular-1.2.1.js',
'js/angular-route-1.2.0.js',
'js/jquery.signalR-1.1.3.js',
'/signalr/hubs',
'js/test/lib/angular/angular-mocks.js',
'js/angular-cookies-1.2.0.js',
'js/controllers/*.js',
'js/test/spec/*Spec*.js',
'js/directives/*.js',
'js/filters/*.js',
'js/services/*.js',
];
Run Code Online (Sandbox Code Playgroud)
如何在 Karma 配置文件中注册集线器路由?
您可以使用手动配置的 signalR 代理:http : //www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-javascript-client#manualproxy