繁体   English   中英

如何为不应该执行任何操作的函数编写测试?

[英]How do I write a test for a function that should do nothing?

有时候,我写的函数在某些情况下应该什么都不做。 他们不做任何事情不仅可以接受,而且实际上是必需的行为。 是否有测试功能的模式以确保它没有副作用?


举个例子,我目前正在测试一个如下所示的函数:

function onRowOfIconsClicked(iconName) {
  if (iconName === 'new') {
    doSomeAwesomeStuffImAlreadyTesting();
  }
  // We haven't implemented the other icons yet, so for now,
  // do nothing and don't throw an error if a different icon
  // is clicked
}

我将如何编写测试用例断言目前的规定,即当onRowOfIconsClicked被称为与iconName比其他"new" ,该函数什么都不做?

所有JavaScript函数都有一个返回值,即使该返回值undefined因为没有用于指定返回值的显式return语句。

那么你可以做的是测试如果使用除'new'之外的iconName参数调用函数,则测试该函数返回undefined 因为undefined === undefined ,所以会通过测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM