Batmanjs用Karma测试Rails

时间:2014-01-18 21:09:27

标签: javascript ruby-on-rails-4 karma-runner batman.js

我想在当前项目中使用batmanjs karma和rails。目前我正在尝试使用batmanjs测试框架,但我有时间让所有东西一起玩。任何帮助都会受到赞赏。

http://batmanjs.org/docs/testing.html

class SimpleTest extends Batman.TestCase
    @test 'A simple test', ->
          @assert true

此文件位于spec / javascripts / simple_spec.js.coffee

这是我的Karma配置,我假设它不准确。

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['requirejs'],
    files: [QUNIT, QUNIT_ADAPTER,
      {pattern: 'spec/javascripts/*.js.coffee', included: false}
    ],
    exclude: [
    ],
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome', 'PhantomJS'],
    captureTimeout: 60000,
    singleRun: false
  });
};

再次,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

不知何故,您需要获取由Karma加载的Batman.TestCase(以及您的应用程序代码)。我之前做的是(gulp)指向我的开发服务器上的Karma,它可以获得编译资产。也许它并不完美,但它确实有效。

以下是您的Karma配置的示例代码段:

files: [
  'spec/javascripts/**/*.coffee',
  'http://localhost:3000/assets/your_app.js', // loads application code
  'http://localhost:3000/assets/extras/batman.test_case.js' // point to wherever TestCase code is!
]

另外,我写了一些关于我之前是如何做到的(使用Jasmine),如果派上用场的话:http://rmosolgo.github.io/blog/2014/01/18/batman-dot-js-testing-with-karma-and-jasmine/

如前所述,Batman.TestCase是一个“额外”,所以你必须“手动”包含它。它不在Batman.js的分布式版本中

这有帮助吗?祝你好运!