哪个测试匹配器库使用角度种子

时间:2014-05-12 02:49:21

标签: javascript angularjs gruntjs jasmine karma-jasmine

我们使用角度种子项目设置角度项目,并使用茉莉花测试框架进行测试。

然而,我感到困惑和惊讶,因为很多茉莉花文档与期望/匹配逻辑和间谍无关。

对于期望,我期待能够使用茉莉花文档中的内容,如:

expect(...).toBeTruthy()
expect(...).toBeFalsy()
// etc...

这些都不起作用,而是看起来我必须编写chai类型的代码:

expect(...).to.be.true;
expect(...).to.be.false;
// etc...

并且间谍能够写下这样的期望:

spyOn(foo, 'setBar');
// ...do some stuff
expect(foo.setBar).toHaveBeenCalled();
foo.setBar.calls.reset();

但我必须写:

expect(foo.setBar.calls.length).to.equal(1);

// reset calls (this is particularly ugly)
foo.setBar.calls = [];
foo.setBar.argsForCall = [];

所以有两个问题:

  1. 是否有关于Chai的Jasmine匹配的一般建议,反之亦然?社区中首选哪一个?或者是否存在种子项目尚未赶上的某种转变?
  2. 作为一个新手,我更喜欢茉莉花配对(特别是在使用间谍时),所以我怎么做咕噜声测试使用Jasmine而不是Chai?
  3. 让see项目使用一个使用Jasmine 2.0 vs 1.3的karma-jasmine插件会很高兴。

    感谢。

    更新

    我应该注意另外两件事。我们运行的是使用grunt和karma-jasmine的测试,如:

    grunt test:unit
    

    我们的karma.conf.js文件如下:

    module.exports = function(config){
      config.set({
      basePath : '../',
    
      files : [
        'app/lib/angular/angular.js',
        'app/lib/angular/angular-*.js',
        'test/lib/angular/angular-mocks.js',
        'app/js/**/*.js',
        'test/unit/**/*.js'
      ],
    
      exclude : [
        'app/lib/angular/angular-loader.js',
        'app/lib/angular/*.min.js',
        'app/lib/angular/angular-scenario.js'
      ],
    
      autoWatch : true,
    
      frameworks: ['jasmine'],
    
      browsers : ['Chrome'],
    
      plugins : [
        'karma-junit-reporter',
        'karma-chrome-launcher',
        'karma-firefox-launcher',
        'karma-jasmine'
      ],
    
      junitReporter : {
        outputFile: 'test_out/unit.xml',
        suite: 'unit'
      }
    })}
    

    我认为框架:['jasmine']会让我们使用茉莉花,而框架:['mocha','chai']会让我们使用chai。

0 个答案:

没有答案