içine benim app/çerçeve belirli dosyaları gerektiren küresel bir işlevi yazdım değil:require.main.require eserler ancak Mocha testi
global.coRequireModel = function(name) {
// CRASH happens here
return require.main.require('./api/_co' + name + '/_co' + name + '.model');
}
Bu modül içinde/bileşenleri/coGlobalFunctions olduğunu. Kullandığım diğer modüllerde Sonra
require('./components/coGlobalFunctions');
çerçevesinden "bir şey" kullanarak
:var baseScheme = coRequireModel('Base');
Bu çalışır ancak benim ana app gereklidir
böyle app.js Bana, require.main.require çağrısından hemen önce bir "Hata: Modül bulunamadı" hatası veren Mocha testleri.
Test başka bir kaynak klasörden geliyor gibi görünüyor. Ama ihtiyacımın sebebini gördüm.Mesaj.Meyve, modülleri göreceli olarak bağlamanın gerekliliğini ortaya çıkaracaktı.
DÜZENLEME:
API/kullanıcı yaşayan bir örnek test dosyası: düğümünden direkt olarak çalıştırıldığı modüle
var should = require('should');
var app = require('../../app');
var User = require('./user.model');
...
bunun için geçici bir çözüm buldu: buraya bakın karışıklık çözümleri, - ".." - başka önlemek-For
? Belki de testlerde modülü ayarlamak için? – Chathushka