[英]How to reuse variables in Mocha tests?
在我的摩卡測試中,我總是需要相同的庫。 例如:
var mongoose = require('mongoose'),
User = mongoose.model('User'),
_ = require('underscore');
我想像這樣在每個測試文件中使用它們:
describe('xxx', function () {
it('xxx', function (done) {
var user = new User();
done();
});
});
而不使用任何前綴,例如var user = new somefile.User();
怎么做還是有更好的解決方案? 謝謝。
基本上,這是不可能的。
Mocha具有-r
(或長版本中的--require
)參數,該參數可幫助您需要模塊,但如文檔所述:
--require
選項對諸如should.js之類的庫很有用,因此您可以簡單地--require should
而不是在每個測試文件中手動調用require('should')
。 請注意,這應該很好,因為它可以Object.prototype
,但是,如果您希望訪問模塊的導出,則必須要求它們,例如var should = require('should')
。
我可以想象出一種解決方法是引入一個輔助文件,該文件除了使用單個模塊導出所需的所有必需模塊外,基本上什么也沒做(基本上歸結為您建議的帶prefix
):
module.exports = {
mongoose: require('mongoose'),
User: mongoose.model('User'),
_: require('underscore')
};
這樣一來,您只能在實際的測試文件(幫助文件)中導入一個模塊,並將所有其他模塊作為子對象訪問,例如:
var helper = require('./helper');
describe('xxx', function () {
it('xxx', function (done) {
var user = new helper.User();
done();
});
});
可以使用比helper
更好的名稱,但是基本上這可以使它起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.