Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 使用Jasmine测试React组件时出错_Unit Testing_Reactjs_Jasmine_Karma Jasmine - Fatal编程技术网

Unit testing 使用Jasmine测试React组件时出错

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:

在测试react组件时,我不断遇到此错误:

错误:不变冲突:findComponentRoot(…,.0):无法找到 元素。这可能意味着DOM发生了意外变异(例如。, 通过浏览器),通常是因为使用时忘记了 表、嵌套标记,如、或,或使用非SVG 父元素中的元素。请尝试检查的子节点 元素,该元素的反应ID为``

我用来测试的代码:

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。