Skip to content

Karma/Testacular hangs up when running ngMidwayTester #2

@sheniff

Description

@sheniff

Hi,

I'm trying to run some midway tests in my app using your awesome plugin and mocha, as in the example of your article, but it turns out that when I run

karma start spec/javascripts/config/testacular.midway.conf.js

for this file

describe('Midway: Testing Routes', function () {

  var test;

  before(function (done) {
    ngMidwayTester.register('distill', function(instance) {
      test = instance;
      done();
    });
  });

  it('should have a stacks_path', function () {
    expect(ROUTER.routeDefined('stacks_path')).to.equal(true);
    var url = ROUTER.routePath('stacks_path');
    expect(url).to.equal('/stacks');
  });

  it('should have a stack_path', function () {
    expect(ROUTER.routeDefined('stack_path')).to.equal(true);
    var url = ROUTER.routePath('stack_path');
    expect(url).to.equal('/stacks/:id');
  });

[... (testing 12 routes)]

In a random moment during execution, Karma opens a second socket connection, making it crash and getting this log:

[2013-05-28 23:38:16.405] [WARN] config - "/" is proxied, you should probably change urlRoot to avoid conflicts
INFO [karma]: Karma server started at http://localhost:9202/
INFO [launcher]: Starting browser Chrome
INFO [karma]: To run via this server, use "karma run --runner-port 9302"
INFO [Chrome 27.0 (Mac)]: Connected on socket id SnicZ5NGAmsjIBQ3Ailq
Chrome 27.0 (Mac): Executed 21 of 24
INFO [Chrome 27.0 (Mac)]: Connected on socket id 5Ua9cvKEWU-v5g59Ailr
INFO [karma]: Delaying execution, these browsers are not ready: Chrome 27.0 (Mac)

my midway.conf.js is:

// base path, that will be used to resolve files and exclude
basePath = '../../..';

files = [
  MOCHA,
  MOCHA_ADAPTER,
  'spec/javascripts/config/mocha.conf.js',

  // 3rd Party Code
  'spec/javascripts/lib/jquery.min.js',
  'spec/javascripts/lib/angular.min.js',
  'vendor/assets/javascripts/angular-ui.min.js',
  'app/assets/javascripts/v2/angular-ui-bootstrap.min.js',

  // App-specific code
  'app/assets/javascripts/angular/**/*.js',
  'app/assets/javascripts/angular/**/*.coffee',

  // Test-specific code
  'spec/javascripts/lib/chai.js',
  'spec/javascripts/lib/chai-should.js',
  'spec/javascripts/lib/chai-expect.js',
  'spec/javascripts/lib/angular-resource.js',
  'spec/javascripts/lib/ngMidwayTester.js',

  // Test-Specs
  'spec/javascripts/midway/**/*.js'
];

port = 9202;
runnerPort = 9302;
captureTimeout = 5000;

shared = require(__dirname + "/testacular.shared.conf.js").shared;
growl     = shared.growl;
colors    = shared.colors;
autoWatch = shared.autoWatch;
singleRun = shared.singleRun;
reporters = shared.defaultReporters;
browsers  = shared.defaultBrowsers;
proxies   = shared.defaultProxies;

logLevel  = LOG_INFO;

Any idea? Thanks beforehand, it's driving me crazy...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions