为单元测试生成测试数据 - JEST

时间:2021-06-24 15:43:48

标签: javascript node.js unit-testing testing jestjs

我是 JEST 单元测试的新手。我有一个 nodeJs 应用程序,我需要对其执行功能级单元测试。有一些函数将 Map 对象作为输入,并提供 array 处理过的对象作为输出。

  1. 我需要为这些函数准备测试数据。目前我正在使用支持函数来读取 json 数据并创建 map 对象。这些对象将作为要进行单元测试的函数的输入。

read_test_data.js - 支持创建测试数据的功能

readDataFromJson: async function() {
   let testJsonFile = "test.json";
   let testData = JSON.parse(fs.readFileSync(testJsonFile, "utf-8"));
   let testDataMap = new Map();
   testDataMap.set("some_id", testData);
},

myFunction.js - 要进行单元测试的函数

myFunction: async function(testData) {
   // process the testData
   let returnData = []  // List of processed data
   return returnData;
}

myFunction.test.js - myFunction 函数的单元测试。

const support = require("./read_test_data");
const myFunction = require("./myFunction");
describe("Tests for myFunction", () => {
  test("Test 1", () => {
    let testData = await support.readDataFromJson();
    let outputData = await myFunction.myFunction(testData);
    expect(outputData).toEqual(["some data"]);
  }
}

我有以下疑问:

  1. 这是为单元测试(使用 JEST)生成测试数据的正确方法吗?
  2. 如果是,我们如何从覆盖测试中排除支持功能?

感谢您的帮助。

谢谢

0 个答案:

没有答案