2013-08-07 57 views
5

我遇到了一段时间内无法解决的问题,并且因为我不知道我在做什么错误而感到非常沮丧。 :) 任何帮助深表感谢。我在我的应用程序中也使用requirejs。这基本上是我想要建立的; https://github.com/Cengizism/baseAngularJS - Karma(e2e):执行0的0错误

当我尝试启动我的e2e测试时,我在控制台上得到了这个;

INFO [karma]: Karma v0.10.0 server started at http://localhost:8080/_karma_/ 
INFO [launcher]: Starting browser Chrome 
INFO [Chrome 28.0.1500 (Mac OS X 10.8.4)]: Connected on socket id n-0AVRliCogs2nWBfgDz 
Chrome 28.0.1500 (Mac OS X 10.8.4): Executed 0 of 0 ERROR (0.208 secs/0 secs) 

我的配置文件如下所示;

module.exports = function(karma) { 
    'use strict'; 

    karma.set({ 
     frameworks: ['jasmine', 'ng-scenario'], 

     files: [ 
      'app/vendors/angular-scenario/angular-scenario.js', 
      'test/e2e/*.js' 
     ], 

     basePath: '', 

     exclude: [], 

     reporters: ['progress'], 

     port: 8080, 

     runnerPort: 9100, 

     colors: true, 

     logLevel: karma.LOG_INFO, 

     autoWatch: true, 

     browsers: ['Chrome'], 

     captureTimeout: 5000, 

     singleRun: false, 

     proxies: { 
      '/': 'http://localhost:9000/' 
     }, 

     urlRoot: '/_karma_/', 

     plugins: [ 
      'karma-jasmine', 
      'karma-ng-scenario', 
      'karma-chrome-launcher', 
      'karma-firefox-launcher', 
      'karma-phantomjs-launcher' 
     ] 
    }); 
}; 

最后是spec文件;

describe('Simple E2e Test', function() 
{ 
    it('Should open the front page and check', function() 
    { 
     browser().navigateTo('/#/partial1'); 

     sleep(1); 

     expect(element('#test').html()).toEqual('Hi testUser1'); 
    }); 
}); 
+2

我昨天这个相同的问题,和一个长期的试验/错误会话之后,我通过添加ANGULAR_SCENARION和ANGULAR_SCENARIO_ADAPTER作为两个第一元件F上的文件阵列(和删除“的应用程序/厂商固定它/角-scenario/angular-scenario.js')。试试看。 –

+0

@JB Nizet 我试过,然后它抱怨角度情景本身。似乎根本找不到它。因为browser()方法不存在。 :/ PhantomJS 1.9.1(Mac OS X)简单的E2e测试应该打开首页并检查失败 \t ReferenceError:找不到变量:browser –

+0

@JBNizet非常感谢。也许你应该让这个答案。有趣的是,即使我的业力版本(0.10.8)在运行时明确声明“WARN [config]:ANGULAR_SCENARIO不再受支持”,将这两个返回,放在文件列表的顶部并且没有提及茉莉花,工作确定。 –

回答

4

我对此也不完全清楚,但在遇到此问题后,我从加载中删除了文件angular-scenario,并且能够使测试运行。我认为问题在于单元测试和e2e测试配置之间的差异。

+0

我现在有这种工作,但面临另一个问题。 PhantomJS可以正常工作而不会抛出错误,但是在浏览器中可以翻转。请看看这个; https://github.com/karma-runner/karma/issues/682 –

+0

也为我工作。使用文件[]下的angular-scenario.js执行零测试。没有它,它只是工作(业力版本0.10.2)。 – Robin

+0

不错的发现家伙! – Nikos

0

它可能是由于你的文件[],它可能是错误的添加相对路径。 我有相同的错误,并在它工作正常后!

+1

之后*什么*它工作正常? – fracz

+0

我可以用Karma运行我的测试而不会出现这个错误。 – Noum

+0

fracz的含义是什么,你做了什么,使它工作正常? – Stephane

3

我有这个相同的错误,一旦我开始添加一些测试,它就消失了。错误是否可能意味着没有任何测试?

+0

正是我要回答这个问题。该错误清楚地表明有0个测试运行。 – mila

0

就我而言,模块格式在仅由业障使用的填充文件中是错误的。我根据文档found here将格式更改为“注册”以支持SystemJS模块。

System.config({ 
    packages: { 
     'base/dist/client': { 
      warnings: true, 
      defaultExtension: 'js', 
      format: 'register', 
      map: { } 
     } 
    } 
}); 

这就是TS输出的样子。我必须假设这些测试被封装为系统模块,因此它们没有正确加载。换句话说,错误是由于没有运行测试而产生的。

System.register(['angular2/testing', "./data-pipe"], function(exports_1) { 
    var testing_1, data_pipe_1; 
    return { 
     setters:[ 
      function (testing_1_1) { 
       testing_1 = testing_1_1; 
      } 
     ] 

       // yada, yada, yada.. 

     } 
    } 
}); 
相关问题