当内部变量等于不同的东西时,我需要测试函数
说
Function() {
var test = "to be changed"
return stuffHapennedToTestVariable
}
我需要将测试变量值更改为多个字符串来测试返回的结果。
最佳答案
你不能像你的例子中的函数那样工作。有IOC or dependency injection的图案。这个想法是注入(inject)对象/函数的依赖项,而不是在对象/函数中创建新实例。因此,在您的情况下,拥有一个变量并将其设置为字符串与创建新实例是一样的。因此,使用不同字符串测试它的唯一方法是将字符串传递到函数中:
function functionTotest(test) {
return stuffHapennedToTestVariable
}
var result = functionTotest( "to be changed")
expect(result).toBe("expected result")
关于javascript - Jasmine - 替换函数中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17458707/