【问题标题】:Jest testing issue开玩笑测试问题
【发布时间】:2020-03-25 14:51:49
【问题描述】:

大家好,我正在尝试使用 Jest 测试以下代码,但是在运行测试时我收到了 mData 未定义的错误。请查看下面的代码,如果可能的话,请让我知道我哪里出错了。提前致谢。

function createMilkShakeData(mData) {

 }

 describe("milkshake Data Generator", () => {
 it("creates correct data structure ", () => {
  const mData = [
    "milkshake1/milkshake1flavour",
    "milkshake1/milkshake1flavor2",
    "milkshake2/milkshake2flavour",
    "milkshake2/milkshake2flavour2",
    "milkshake1/milkshake1flavour3",
    "flavour3",
    "milkshake3/flavour3flavour1",
    "milkshake4"
  ];

  const expectedResult = [
    {
      title: "milkshake1",
      data: ["milkshake1flavour", "milkshake1flavour2", "milkshake1flavour3"]
    },
    { title: "milkshake2", data: ["milkshake2flavour", "milkshake2flavour2"] },
    { title: "milkshake3", data: ["milkshake3flavour1"] }
  ];

  const actualResult = createMilkShakeData(mData);
  expect(actualResult).toMatchObject(expectedResult);
});
});

module.exports = createMilkShakeData
module.exports = mData

下面的测试文件中的代码

    const createMilkShakeData = require('./milkshake')

    const data = require('./milkshake')

    test('milkshake Data Generator', () => {

    const actualResult = createMilkShakeData(mData);
  expect(actualResult).toMatchObject(expectedResult)}
  )

【问题讨论】:

  • 您发布的内容毫无意义。您需要来自同一个文件的不同名称两次,您在文件中有一个测试,您暗示是正在测试的代码并且该函数没有实现。很难理解您为什么期望这会起作用。
  • 就像@jonrsharpe 所说,您需要添加更多信息。

标签: javascript jestjs


【解决方案1】:

mData 未在您的第一个文件的全局范围内定义 - 它仅在函数范围内定义 - 在本例中为来自 Jest 的 it。如果您需要导出它,请在全局范围内定义它(即在您的“描述”之前)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 2018-09-25
    • 2022-01-01
    • 2021-06-16
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多