我有以下test.js文件。
test.js
var assert = require('assert');
var path= require('path');
exec('pwd') //Display current Dir
exec('sails new App') //Create New Sails App
exec('cd App') //Change to App Directory
exec('sails new generate model alpha') //Generate Model
exec('sails new generate controller alpha') //Generate Controller
describe('Test controller created or not ', function(){
it('Equal with Controller Directory Path', function(done){
assert.equal(path.resolve('api/controller/','Alphacontroller') , path.resolve('api/controller/','Alphacontroller'));
done();
});
});
所以,如果
Run $ Mocha test.js
应该创建App,生成模型,控制器并检查是否创建了Controller
我使用Mocha作为我的测试框架。
答案 0 :(得分:1)
您确定需要测试生成器,这是一个应该已经过测试的框架代码吗?
无论如何,您可以使用以下内容测试sails new app
:
it('should create a new application', function(done) {
exec('sails new ' + appName, function(err) {
if (err)
return done(new Error(err));
assert(something, isRight); // You can verify the files generated or whatnot
done();
});
});
与模型/控制器生成类似。基本上,你有正确的方法,记住回调是很重要的。