Używam mocha do pisania testów jednostkowych dla narzędzia, które korzysta z modułu npm command-line-args. Niestety, opcje przeznaczone dla mocha są pobierane przez polecenie-argument-argumenty w moim narzędziu, które sumiennie zgłasza błąd, jeśli te opcje nie istnieją w moim narzędziu. Na przykład, jeśli mogę to zrobić ...Jak testować narzędzie, które używa argumentów wiersza poleceń
mocha --watch
... potem komenda-line-args zgłasza to:
UNKNOWN_OPTION: Nieznana opcja: --watch
I mogę obejść problem, robiąc coś takiego w moim narzędziu ...
var cli = commandLineArgs([
{ name: 'verbose', alias: 'v', type: Boolean },
{ name: 'timeout', alias: 't', type: Number },
{ name: 'watch'} // So I can do mocha --watch
]);
... ale potem cli.getUsage()
mówi, że moje narzędzie ma opcję watch
, której tak naprawdę nie ma. I oczywiście to wymyka się spod kontroli, jeśli chcę przekazać więcej opcji do mokki.
Jaki jest najlepszy sposób "tell" argumentów wiersza polecenia, aby zignorować opcje w moim scenariuszu?