2

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

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

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

如果是,那么我是否应该事先知道每个 var 或数组的预期值?

感谢任何帮助将不胜感激

4

1 回答 1

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);
于 2013-03-30T16:24:13.323 回答