如何在组件渲染内部对条件(分支)进行单元测试(返回之前)

时间:2019-08-09 10:14:23

标签: reactjs jestjs

如果在表组件渲染(在返回之前)内未找到函数调用的数据,则我设置了条件“返回null”,以便不会中断(额外的安全层)

我的问题是我正在努力对此进行测试,而我的分支机构覆盖率需要达到100%。

易于测试是否将其设为函数,但我想避免在props中的所有位置使用括号。也很容易测试是否将其移动到渲染上方,但是会遗漏整个要点(以防止渲染失败,以防数据无法从API获取)

  const data = this.getData()
  if (!data) return null
  return (

如果!(data)返回null

({getData()方法已经有一个早期的空返回)

3 个答案:

答案 0 :(得分:0)

我采用的方法是测试组件的渲染结果。例如,在您的情况下,如果data为null,它将呈现任何内容吗?您可以检查是否正确渲染了组件(或其部分)。

答案 1 :(得分:0)

您可以使用react-testing-library并测试HTML输出。这是一个了不起的库,可让您对组件进行单元/集成测试,例如“用户将与之交互”。

https://testing-library.com/docs/react-testing-library/intro

答案 2 :(得分:0)

非常感谢您的回复!我找到了可以正确测试并通过SonarQube规则的解决方案:

uploadImages