AngularJS unit testing with ReSharper

angularjs, jasmine, resharper

Solution

Your hunch about ReSharper tripping over inline `inject` is right, it seems to expect `function` instead when it parses file to get list of tests. I've worked around by moving `inject`s into either `beforeEach` or into the body of the `it` and that made ReSharper happy again. Btw, I've also added reference to jasmine.js at the top (before other references) to get rid of ReSharper's warnings about undefined Jasmine globals.

Problem

I'm trying to get Jasmine unit tests for an AngularJS controller running with the ReSharper test runner so I can run my client and server-side tests in one place within VS 2012. I'm running into an issue where the ReSharper test runner is failing with a message of "Inconclusive: Test wasn't run". The same test runs fine using the test runner that comes with the AngularJS Seed project. Here's my simple test for troubleshooting: ``` /// <reference path="~/Scripts/angular/angular.js"/> /// <reference path="~/tests/test/lib/angular/angular-mocks.js"/> /// <reference path="~/Scripts/app/controllers.js"/> 'use strict'; describe('controllers', function(){ beforeEach(module('myApp.controllers')); it('should ....', inject(function() { expect(1).toEqual(1); })); }); ``` I suspect it has something to do with my references because if I remove the call to `inject`, my test runs fine. However, `inject` is defined in angular-mocks.js (which I'm referencing) so I'm not sure what the problem is. Any suggestions?

Original source

Related problems