Javascript Karma[Jasmine]-如何从测试用例中分离代码
有没有一种标准的方法通过使用Jasmine将代码与测试分开 ==functions.jsJavascript Karma[Jasmine]-如何从测试用例中分离代码,javascript,jasmine,karma-runner,Javascript,Jasmine,Karma Runner,有没有一种标准的方法通过使用Jasmine将代码与测试分开 ==functions.js function sample() { return true; } this.sample = function() { return true; }; ==functions.spec.js describe('functions', function () { it('sample', function () { expect(sample()).toEq
function sample() {
return true;
}
this.sample = function() {
return true;
};
==functions.spec.js
describe('functions', function () {
it('sample', function () {
expect(sample()).toEqual(true);
});
});
var source = require('./functions.js');
...
expect(source.sample()).toEqual(true);
==karma.config.js
module.exports = function (config) {
config.set({
basePath: __dirname + '/../public/',
frameworks: [
'jasmine'
],
browsers : ['PhantomJS'],
client: {
jasmine: {
stopOnFailure: true
}
},
files: [
'js/**/*.spec.js'
]
});
};
browserify: {
debug: true,
plugin: ['proxyquireify/plugin'],
extensions: ['.js']
},
preprocessors: {
'js/**/*.spec.js': ['browserify']
}
提前谢谢
我试图使用“browserify”,但没有成功: ==karma.config.js
module.exports = function (config) {
config.set({
basePath: __dirname + '/../public/',
frameworks: [
'jasmine'
],
browsers : ['PhantomJS'],
client: {
jasmine: {
stopOnFailure: true
}
},
files: [
'js/**/*.spec.js'
]
});
};
browserify: {
debug: true,
plugin: ['proxyquireify/plugin'],
extensions: ['.js']
},
preprocessors: {
'js/**/*.spec.js': ['browserify']
}
==functions.spec.js
describe('functions', function () {
it('sample', function () {
expect(sample()).toEqual(true);
});
});
var source = require('./functions.js');
...
expect(source.sample()).toEqual(true);
原始文件中的小更改有助于: ==functions.js
function sample() {
return true;
}
this.sample = function() {
return true;
};