gpt4 book ai didi

node.js - 无法在用于从一种方法到另一种方法的服务器端代码测试的 nodeunit 测试用例中获取对象值

转载 作者:行者123 更新时间:2023-11-28 20:56:05 25 4
gpt4 key购买 nike

我正在使用 nodeunit 进行 node.js 服务器端代码测试。这是我的代码片段。我没有添加所有代码,但您可以查看错误引用。

test adding a project 方法的 bwlow 代码中,我将项目添加到 mongodb,然后在保存后收到服务器的响应后,我将新添加的 _id 分配给 me.projectToUpdate[ '_id'].

我的问题是我无法在 test build a project 测试用例中获取 me.projectToUpdate['_id'] 的值。

exports.group = {
setUp: function(callback) {
var me = this;
me.projectToSave = {};
me.projectToUpdate = {};
},

"test for smoke": function(test) {
test.ok(null == null);
test.done();
},

"test adding a project": function(test) {
var me = this;

me.queue.call("Adding project to DB", function(callbacks) {
// Here I have defined the me.projectToSave object with all fields

project.save(me.projectToSave, callbacks.add(function(call, callReturn) {
//Here I am assigning the project id to me.projectToUpdate object
me.projectToUpdate['_id'] = String(callReturn._id);
}));
});
me.queue.process(test);
},

"test build a project": function(test) {
var me = this;

me.queue.call("Let start the build process", function(callbacks) {
var command = me.config['xmlDeploy'] + ' ' + me.config['options'];
// Here I need the me.projectToUpdate['_id'] to send to server
build.start({project: me.projectToUpdate['_id']}, callbacks.add(function() {
}));
});

me.queue.process(test);
}
};

最佳答案

这可能是一个范围界定问题

setUp: function(callback) {
var me = this;
me.projectToSave = {};
me.projectToUpdate = {};
},

我建议只将状态移到测试之外

var me = {}
me.projectToSave = {};
me.projectToUpdate = {};

exports.group = {
}

关于node.js - 无法在用于从一种方法到另一种方法的服务器端代码测试的 nodeunit 测试用例中获取对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18080628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com