从js文件执行命令以创建sails app

时间:2014-02-17 13:56:56

标签: javascript node.js unit-testing mocha sails.js

我有以下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作为我的测试框架。

1 个答案:

答案 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();
  });
});

与模型/控制器生成类似。基本上,你有正确的方法,记住回调是很重要的。