2012-07-11 91 views
2

我剛剛開始JavaScript單元測試工作,我對它很陌生。Javascript單元測試的功能沒有返回類型

我發現了很多單元測試框架,我決定和QUnit一起去。但是我想問,在單元測試中,大多數框架都是這樣的,我們將不同的值傳遞給函數,然後將返回值與預期值進行比較,然後通過或未通過測試。 在我的情況下,我沒有所有的函數返回值。有些正在改變類變量,即變量數組等改變了相同的功能。

所以,只是想問,有沒有辦法來檢查這種類型的功能或是否必須有返回類型?

如果是,我應該在手之前必須知道每個var或數組的期望值嗎?

感謝任何幫助將不勝感激

回答

4

如果功能只是修改會員資料,你可以查詢數據調用該函數之前,則調用該函數後再次查詢數據。通過這種方式,您可以確定該功能是否實際上按照應該的方式進行了操作。

僞例如:

var MyClass = function(data) { 

    // Suppose data is an array 
    this.data = data; 


    this.sort = function() { 
     // sorts data 
    }; 

}; 

// Test #1: 
var myClass = new MyClass([5, 3, 2, 4, 1]); 
myClass.sort(); 

var expected = [1, 2, 3, 4, 5]; 
deepEqual(myClass.data, expected);