我想在当前项目中使用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
});
};
再次,任何帮助将不胜感激。
答案 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的分布式版本中
这有帮助吗?祝你好运!