Unit testing 使用Jasmine测试React组件时出错
在测试react组件时,我不断遇到此错误: 错误:不变冲突:findComponentRoot(…,.0):无法找到 元素。这可能意味着DOM发生了意外变异(例如。, 通过浏览器),通常是因为使用时忘记了 表、嵌套标记,如、或,或使用非SVG 父元素中的元素。请尝试检查的子节点 元素,该元素的反应ID为`` 我用来测试的代码:Unit testing 使用Jasmine测试React组件时出错,unit-testing,reactjs,jasmine,karma-jasmine,Unit Testing,Reactjs,Jasmine,Karma Jasmine,在测试react组件时,我不断遇到此错误: 错误:不变冲突:findComponentRoot(…,.0):无法找到 元素。这可能意味着DOM发生了意外变异(例如。, 通过浏览器),通常是因为使用时忘记了 表、嵌套标记,如、或,或使用非SVG 父元素中的元素。请尝试检查的子节点 元素,该元素的反应ID为`` 我用来测试的代码: describe(`Method: flattenData`, () => { const tests = [ { toFlatten:
describe(`Method: flattenData`, () => {
const tests = [
{
toFlatten: {
'key1': 'k',
'key2': 'n',
'key3': 'o'
},
expectedResult: 'key1: k; key2: n; key3: o'
}
];
tests.forEach((test) => {
expect(instance.flattenData(test.toFlatten)).toEqual(test.expectedResult);
});
});
我通过向render调用添加一个参数修复了这个错误。这将强制在表中呈现组件(它只是一个
)
之前:
[container, instance] = render(TableCell, {
data: `content`,
dataTh: `content`,
key: `content`,
dataLocator: `content`
});
使用修复程序:
[container, instance] = render(TableCell, {
data: `content`,
dataTh: `content`,
key: `content`,
dataLocator: `content`
}, `table`);
您能否提供有关您正在引用的
实例
变量的更多信息?在调用实例.flattData
或创建组件实例时是否发生错误?我找到了修复方法,我没有错误地提供有关实例的更多数据,并且instance.flattData在本例中不相关。Tha反正是nks。