【发布时间】:2023-03-11 14:30:01
【问题描述】:
我有一个包含多个组件的 React 应用程序,每个组件都有自己的相应测试。 问题是多个测试需要道具中的假元素,这可能会有点混乱:
const mockIStyleDetailsProps: IStyleDetailsProps = {
currentStyleOption: {
number: fakeStyleNumber,
name: fakeStyleOptionName,
color: {
pantone: fakePantone,
hex: fakeHex,
basic: fakeBasic,
} as Color,
eaNs: fakeEANs,
assets: [
{
perspective: {
number: fakeNumber,
name: fakePerspectiveName,
assetType: fakeAssetType,
} as Perspective,
file: {
extension: fakeExtention,
name: fakeAssetName,
size: fakeAssetSizeNumber,
createdOn: Date,
modifiedOn: Date,
storageUrl: fakeStorageUrl,
} as File,
channel: fakeChannel,
},
] as Asset[],
} as StyleOption,
styleName: fakeStyleName,
styleOptionNumber: fakeStyleOptionNumber,
brandName: fakeBrandName,
description: fakeDescription
};
有没有更方便的方式将上面的props声明成相同的属性?
我想StyleOption 可以以某种方式使用一些默认值构建,这样我就可以在如下测试中使用它:
const mockIStyleDetailsProps: IStyleDetailsProps = {
currentStyleOption: StyleOptionBuilder.build(),
styleName: fakeStyleName,
styleOptionNumber: fakeStyleOptionNumber,
brandName: fakeBrandName,
description: fakeDescription
};
提前感谢您的任何建议。
【问题讨论】:
标签: reactjs jestjs react-testing-library