2015-06-04 97 views
2

docs只是說加載燈具測試

// here you can load fixtures, etc. 

我已經工作了,我可以包括

var fixtures = require('./fixtures/models.js'); 
在引導腳本

,所以充分引導腳本是:

/* 
* Lifts Sails before testing comenses. 
*/ 

var Sails = require('sails'); 
var sails; 

before(function(done) { 
    this.timeout(5000); 

    Sails.lift({ 
    // configuration for testing purposes 
    environment: 'test', 
    }, function(err, server) { 
    sails = server; 
    if (err) { 
     return done(err); 
    } 

    // here you can load fixtures, etc. 
    var fixtures = require('./fixtures/models.js'); 
    done(err, sails); 
    }); 
}); 

after(function(done) { 
    // here you can clear fixtures, etc. 
    Sails.lower(done); 
}); 

然後我可以在引導腳本中引用fixtures var,但我無法在測試中引用它。我只是不確定。

+0

每個測試文件。 –

+0

@LuisElizondo這是否意味着文檔中的評論是錯誤的?或者我想念它。 – SystemicPlural

+0

您可以在那裏加載燈具,但您需要將它們分配給sails對象,或者您可以在每個測試文件中只需要該文件。 –

回答

0

我使用Barrels

包有助於從文件到數據庫(無論您選擇DB)裝燈具 你可以選擇以何種順序它們被加載(協會填充)

要裝入燈具測試我在加

var Barrels = require('barrels'); 
var barrels = new Barrels(process.cwd()+'/tests/fixtures'); 
var fixtures = barrels.data; 

後,在測試本身,我更喜歡在測試前正在重置的數據庫表的燈具......像這樣:

before(function (done) { 
     barrels.populate(['users', 'categories', 'products'], function (err) { 
     if (err) return done(err); 

     done(); 
     }); 
}); 
測試文件的頂部

就是這樣。你有你的數據庫填充。 此過程在所有模型上觸發「創建」的所有事件,因此您也可以對其進行測試。

您可以使用我的版本的包,其中包括一個MongoDB的IDS支持: https://github.com/stuk88/barrels

這裏是如何在帆測試全程導遊:你需要需要燈具文件上 https://github.com/bredikhin/sailsjs-mocha-testing-barrels-fixtures-example

+0

@FrankerZ更新了它。現在可以嗎? –

+0

@StasArshanski是的,謝謝你的編輯 – YakovL