有没有办法间谍/存根交换语句?我试过了:
let spy = sandbox.spy(global, 'switch');
但不幸的是,这不起作用。
答案 0 :(得分:1)
没有。 switch
是语言级控制语句,不会像这样受到影响。
然而,这并非挫折。您应该测试您的单位所做的,而不是 他们是如何做的。这种区别有时可能有点混乱,但在这种情况下呢?函数中是否存在switch
将是一个'如何'而不是'什么' 100%的时间。换句话说,它是一个实现细节。
如果您已经想要这样的事情,我建议退一步,真正考虑为什么要这样做。如果用同等的if / else-if / else链替换switch
,你真的希望测试失败吗?可能不是。