2012-07-11 92 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);