Obecnie piszę niektóre testy dla aplikacji nodejs. zakładać, że mam moduł tak:Jak testować jednostkę "prywatna" funkcja użyteczności w nodejs
module.exports = function myModule(moduleParam) {
var someVar;
....
....
function helper(param) {
return param + someVar;
}
return {
doSomething: function (bar) {
....
....
var foo = helper(bar);
....
....
}
};
};
Załóżmy, że funkcja „pomocnik” jest przydatny tylko w module i nie powinny być wystawione na zewnątrz.
Jaka jest "najlepsza praktyka" do testowania? (oczywiście, mogę przetestować funkcję DOSomething jako całość, ale w ten sposób funkcja "helpera" jest testowana w konkretnej sytuacji, w trybie "czarnej skrzynki").
Używam nodeunit jako ramy do testowania, dla tego mettera, ale mogę go zmienić w razie potrzeby.
I don Myślę, że możesz go przetestować, ponieważ do tego potrzebujesz dostępu do zmiennych o zasięgu lokalnym. – Bergi
Możesz pisać funkcja, która będzie dołączać tylko inną funkcję do eksportu, jeśli faktycznie przeprowadzasz testy? – phenomnomnominal
@ Phenomnomnominal, masz na myśli coś jak funkcja eksportowana tylko wtedy, gdy zdefiniowana jest "globalna zmienna testowa" lub coś podobnego? – ArtoAle