2013-07-03 47 views
0

我需要測試的功能時,內部變量等於不同的東西茉莉花 - 替換函數中的變量?

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

} 

我需要更改測試變量的值到多個字符串測試返回結果。

+1

如果它們是預先定義的字符串,你不能使用數組和靜態計數器通過陣列遞增每次被調用? –

回答

3

你不能以你的例子中函數的工作方式。有IOC or dependency injection的模式。這個想法是注入對象/函數的依賴關係,而不是在對象/函數中創建新的實例。所以在你的情況下,有一個變量並將其設置爲一個字符串與創建一個新實例是一回事。因此,與不同的字符串來測試它的唯一方法是在字符串傳遞到函數:

function functionTotest(test) { 
    return stuffHapennedToTestVariable 
} 

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