Oto normalny moduł węzła. Niektóre funkcje nie zostały wyeksportowane, ale musiały zostać przetestowane:Testowanie nie wyeksportowanych metod węzła modułu
var foo1 = function() { console.log("Foo1"); }
var foo2 = function() { console.log("Foo2"); }
var foo3 = function() { console.log("Foo3"); }
module.exports = {
foo1: foo1,
foo2: foo2
}
Ktoś wie, jak przetestować foo3? Normalnie testuję moduły z modułem piaskownicy. Ale istnieje tylko możliwość wyśmiewania danej rzeczy dla modułu, ale nie mogę zmienić zakresu metod.
próbki do testowania modułu z węzłów piaskownicy-module:
var SandboxedModule = require('sandboxed-module');
var user = SandboxedModule.require('./user', {
requires: {'mysql': {fake: 'mysql module'}},
globals: {myGlobal: 'variable'},
locals: {myLocal: 'other variable'},
});
Dzięki za pomoc!
Wystarczy wyeksportować również foo3, poprzedzając go z und erscore oznacza, że jest to funkcja prywatna, na przykład '_foo3: foo3'. –
możliwy duplikat [Jak uzyskać dostęp i przetestować funkcję wewnętrzną (nie eksportową) w module node.js?] (Http://stackoverflow.com/questions/14874208/how-to-access-and-test-an -internal-non-export-function-in-a-node-js-module) – waterproof