我刚开始从事JavaScript单元测试,我是新手。
我找到了很多单元测试框架,我决定使用QUnit。但我想问一下,在单元测试中,大多数框架就像我们将不同的值传递给函数,然后将返回值与期望值进行比较,然后通过或不通过测试。 在我的情况下,我没有返回值的所有函数。有些正在改变类变量,即变量数组等在同一函数中被更改。
所以我想问一下,有没有办法检查这种类型的函数,还是必须有一个返回类型?
如果是,我应该知道每个var或数组的预期值吗?
感谢任何帮助将不胜感激
答案 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);