没有返回类型的函数的Javascript单元测试

时间:2012-07-11 07:28:43

标签: javascript unit-testing

我刚开始从事JavaScript单元测试,我是新手。

我找到了很多单元测试框架,我决定使用QUnit。但我想问一下,在单元测试中,大多数框架就像我们将不同的值传递给函数,然后将返回值与期望值进行比较,然后通过或不通过测试。 在我的情况下,我没有返回值的所有函数。有些正在改变类变量,即变量数组等在同一函数中被更改。

所以我想问一下,有没有办法检查这种类型的函数,还是必须有一个返回类型?

如果是,我应该知道每个var或数组的预期值吗?

感谢任何帮助将不胜感激

1 个答案:

答案 0 :(得分: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);