Javascript jest和酶的问题预期值为(使用==):

Javascript jest和酶的问题预期值为(使用==):,javascript,jestjs,enzyme,Javascript,Jestjs,Enzyme,我有一个测试用例,它失败了,提供的错误是: Expected value to be (using ===): true Received: false 我不明白为什么,组件的属性为true-false,结果dom应该是正确的 什么会导致问题 如何看笑话和酶在比较什么 从“React”导入React 从“酶”导入{shall} 从“./Location”导入位置 描述(‘套件’、功能(){ 它('应该在不引发错误的情况下呈现',函数(){ 期望(浅)( )

我有一个测试用例,它失败了,提供的错误是:

Expected value to be (using ===):
      true
    Received:
      false
我不明白为什么,组件的属性为true-false,结果dom应该是正确的

  • 什么会导致问题
  • 如何看笑话和酶在比较什么
从“React”导入React
从“酶”导入{shall}
从“./Location”导入位置
描述(‘套件’、功能(){
它('应该在不引发错误的情况下呈现',函数(){
期望(浅)(
).contains(
  • 布拉格,捷克
  • ).toBe(真) })
    })
    您可以使用反勾号渲染组件中的文本,以避免在没有新行的情况下渲染。渲染组件时,您还缺少一个道具,这意味着在浅渲染时,标记将附加一个
    未定义的
    onClick属性

    下面的示例解决了道具问题,但如果将其替换为
    .contains(
  • Prague,CZ
  • )。toBe(true)
    ,也可以通过测试。仅当您不想不通过
    onLocation单击
    prop时,才可以执行此操作

    一个方便的技巧是,您可以通过渲染出浅层渲染组件,然后附加.debug()以查看其不匹配的原因,从而调试浅层渲染组件。您可以在下面列出的2个代码片段中找到一个示例,以解决您的问题

    description(“测试套件”),()=>{
    它(“呈现”,()=>{
    期望(浅)(
    ).contains(
  • 布拉格,捷克
  • ).toBe(真) });
    });
    它可能是
    内容中嵌入的换行符。@有趣的是,如何在我的测试用例中添加嵌入的换行符??在您的体验中,什么是通过onLocation Click或not的最佳方式?@Radex可以直接通过您想要的任何内容,因为它应该是一个单独的测试来测试您想要它做的任何事情。我不会让它未定义,这就是为什么我刚刚传入了一些文本。您能在这里帮助我吗:)