【问题标题】:Jasmine - Replacing variable in function?Jasmine - 替换函数中的变量?
【发布时间】:2013-07-03 21:51:03
【问题描述】:

当内部变量等于不同的东西时,我需要测试一个函数

Function() {
  var test = "to be changed"
  return stuffHapennedToTestVariable

}

我需要将测试变量值改为多个字符串来测试返回的结果。

【问题讨论】:

  • 如果它们是预定义的字符串,你不能使用数组和静态计数器在每次调用时通过数组递增吗?

标签: javascript unit-testing tdd jasmine


【解决方案1】:

你不能按照你的例子中的函数工作方式。有IOC or dependency injection的模式。这个想法是注入对象/函数的依赖项,而不是在对象/函数中创建新实例。因此,在您的情况下,拥有一个变量并将其设置为一个字符串与创建一个新实例是一样的。所以用不同的字符串测试它的唯一方法是将字符串传递给函数:

function functionTotest(test) {
  return stuffHapennedToTestVariable
}

var result = functionTotest( "to be changed")
expect(result).toBe("expected result")

【讨论】:

    猜你喜欢
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    相关资源
    最近更新 更多