小编tjj*_*ava的帖子

如何在javascript全局命名空间中存根/模拟一个函数

我正在尝试在测试期间存根/模拟/覆盖函数调用,这会将日志写入数据库.

function logit(msg) {
  writeMessageToDb(msg);
}

function tryingToTestThisFunction(){
  var error = processSomething();
  if (error) {
    logit(error);
  }
}
Run Code Online (Sandbox Code Playgroud)

我想logit()在测试期间简单地打印到控制台...并且isTesting()logit()函数内部执行" "if/else块不是一个选项.

如果不包括一些额外的模拟框架,这是否可行.我目前正在使用JsTestDriver单元测试,并且没有机会评估任何模拟框架.目前理想的解决方案是在没有其他框架的情况下处理这个问题.

javascript testing mocking

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

javascript ×1

mocking ×1

testing ×1