Синон шпионил за заявлением о смене - PullRequest
0 голосов
/ 16 мая 2018

Есть ли способ подсмотреть / заглушить оператор switch? Я попробовал:

let spy = sandbox.spy(global, 'switch');

Но, к сожалению, это не работает.

1 Ответ

0 голосов
/ 29 мая 2018

Нет.switch является оператором управления на уровне языка, и на него нельзя повлиять следующим образом.

Это не неудача, однако.Вы должны тестировать что делают ваши юниты, а не как они это делают.Это различие может быть немного мутным иногда, но в этом случае?Наличие или отсутствие switch в функции будет «как», а не «что» в 100% случаев.Другими словами, это деталь реализации.

Если вы дошли до того, что хотите что-то вроде этого, я бы рекомендовал сделать шаг назад и по-настоящему подумать, почему вы хотитеЭто.Вы действительно хотите, чтобы тесты не прошли, если вы замените switch эквивалентной цепочкой if / else-if / else?Вероятно, нет.

...