开玩笑测试问题
Posted
技术标签:
【中文标题】开玩笑测试问题【英文标题】: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 所说,您需要添加更多信息。 【参考方案1】:mData
未在您的第一个文件的全局范围内定义 - 它仅在函数范围内定义 - 在本例中为来自 Jest 的 it
。如果您需要导出它,请在全局范围内定义它(即在您的“描述”之前)。
【讨论】:
以上是关于开玩笑测试问题的主要内容,如果未能解决你的问题,请参考以下文章
开玩笑测试中 UnhandledPromiseRejectionWarning 的含义是啥?