javascript - 测试 JavaScript 回调

标签 javascript

我担心我不完全理解 JavaScrpt 变量作用域。我有一个如下所示的函数:

return {
  response: '',

  birthMonthPrompt: function(question, promptCallback) {
    this.dialogText = question;
  }
};

这个想法是birthMonthPrompt会询问用户他们的出生月份。他们输入后,我将得到一个像“November”这样的值。为了测试这一点,我编写了以下内容:

it('should prompt the user', function() {
  var reponse = 'November';
  myService.response= response;

  myService.birthMonthPrompt('Please choose your birth month:', 
    function(userResponse) {
    expect(userResponse).toBe(this.response);
    }
  );
});

当我执行此操作时,我收到一条错误消息:

ReferenceError: Can't find variable: response

我不明白为什么我的测试找不到响应。我做错了什么?

最佳答案

您有一个拼写错误:

var reponse = 'November';

应该是:

var response = 'November';

关于javascript - 测试 JavaScript 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25366739/

相关文章:

javascript - JavaScript 中什么时候设置变量?

javascript - 为什么我的代码在IE11中不起作用

javascript - Sencha Touch : Can't add listener to Map. 请帮忙?

javascript - 在 IF 中设置时,从 else 语句获取间隔 ID

javascript - (mixItUp) 切换按钮没有响应

javascript - JMeter 找不到 BSF Sampler 的方法

javascript - 被覆盖后检索/恢复 native javascript函数

javascript - 编译 React 失败

javascript - 错误 : Could not complete the operation due to error 8150002e

javascript - Web 组件 : Dom Exception: This name has already been used