【问题标题】:Execute command from js file for creating sails app从 js 文件执行命令以创建 Sails 应用程序
【发布时间】:2014-02-17 13:56:56
【问题描述】:

我有以下 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 ,生成模型,控制器并检查控制器是否创建

我正在使用 Mocha 作为我的测试框架。

【问题讨论】:

  • 正如@bredikhin 下面指出的,生成器在框架中进行了测试。此外,sails new generate model alpha 不会像你期望的那样做——它会创建一个名为“generate”的新应用程序。生成模型只需sails generate model [modelName];对于控制器,它是 sails generate controller [controllerName]

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


【解决方案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();
  });
});

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2016-07-21
    相关资源
    最近更新 更多