2014-02-17 113 views
0

我有以下test.js文件。從js文件執行命令來創建sails應用程序

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 應該創建應用程序,生成模型,控制器,檢查控制器是否創建或不

我使用摩卡作爲我的測試框架。

+1

由於@bredikhin注意下面,發電機在框架中測試。另外,'sails new generate model alpha'不會做你期望的 - 它會創建一個名爲「generate」的新應用程序。生成模型只是'sails generate model [modelName]';對於控制器,它是'sails generate controller [controllerName]' – sgress454

回答

1

您確定需要測試生成器,這是一個應該已經測試過的框架代碼嗎?與模型/控制器代

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

同理:

不管怎麼說,你可以用這樣的測試sails new app。基本上,你有正確的方法,重要的是要記住回調。