单元测试数组推送
Unit Testing Array Push
这可能是我遗漏的一件非常明显的事情,但我试图将现有对象从一个数组推送到另一个数组以进行测试,但我的测试一直失败。
查看模型
this.userDatabases = ko.observableArray();
this.databases = _.range(5).map(function (i) {
return {
name: 'DB ' + (i + 1),
chosenRoles: ko.observableArray(),
chosenModules: ko.observableArray()
};
});
单元测试
describe('modifies a new user by', function () {
it('adding a database', function () {
vm = new pfp.insight.controllers.settingsController();
vm.userDatabases.push(vm.databases[0]);
expect(vm.userDatabases.length).toEqual(1);
});
});
这个测试说 "Expected 0 to equal 1" 我不确定为什么 userDatabases 没有从数据库数组中接收到第一个对象。
您需要打开可观察数组(通过在它后面加上方括号)来测试它的长度,就像这样
expect(vm.userDatabases().length).toEqual(1);
这可能是我遗漏的一件非常明显的事情,但我试图将现有对象从一个数组推送到另一个数组以进行测试,但我的测试一直失败。
查看模型
this.userDatabases = ko.observableArray();
this.databases = _.range(5).map(function (i) {
return {
name: 'DB ' + (i + 1),
chosenRoles: ko.observableArray(),
chosenModules: ko.observableArray()
};
});
单元测试
describe('modifies a new user by', function () {
it('adding a database', function () {
vm = new pfp.insight.controllers.settingsController();
vm.userDatabases.push(vm.databases[0]);
expect(vm.userDatabases.length).toEqual(1);
});
});
这个测试说 "Expected 0 to equal 1" 我不确定为什么 userDatabases 没有从数据库数组中接收到第一个对象。
您需要打开可观察数组(通过在它后面加上方括号)来测试它的长度,就像这样
expect(vm.userDatabases().length).toEqual(1);