Jasmine - 在函数中替换变量?

时间:2013-07-03 21:51:03

标签: javascript unit-testing tdd jasmine

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

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

}

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

1 个答案:

答案 0 :(得分:3)

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

function functionTotest(test) {
  return stuffHapennedToTestVariable
}

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