将所需变量重置为初始值

时间:2017-11-20 12:10:27

标签: javascript

好的,因为我最初的帖子令人困惑,我只是做了一个小例子:

data.js包含:

exports.store = {
  "banana": "fresh",
  "apple":  "rotten"
}

server.js包含:

var data = require("./data.js");
var dataInitial = JSON.parse(JSON.stringify(data));

exports.changeData = function(){
  data.store.banana = "rotten";
}

exports.resetData = function(){
  data = dataInitial;
};

server.test.js包含:

var server = require("./server.js");

test("test reset data", () =>{
  console.log(JSON.stringify(data));
  server.changeData();
  console.log(JSON.stringify(data));
  server.resetData();
  console.log(JSON.stringify(data));
});

如果我使用jest将其设置为节点程序来运行server.test.js我得到" ReferenceError:数据未定义"。为什么我会收到此错误?我怎样才能完成我想做的事?

1 个答案:

答案 0 :(得分:1)

您可以执行exports.store = function(){return 'JSON DATA'}并在需要后调用它,或在每次修改之前复制数据。