我试图断言作为组件的prop提供的元素。
e.g。
function ComponentUnderTest() {
const foo = <span></span>
return <Bob something={foo} />
}
我尝试过这样的事情:
shallow(<ComponentUnderTest />)
.prop(‘something’)
.matchesElement(<span></span>)
但我收到的错误类似于:
(0,_enzyme.shallow)(...)。prop(...)。matchesElement不是函数
就像我需要将某些prop值提升到酶包装API中。
关于如何做到这一点的任何想法,避免不得不利用元素本身。
答案 0 :(得分:0)
.prop(‘something’)
将返回&#34;的内容&#34;支柱。此属性值不会是ShallowWrapper实例(您可以通过将.prop(‘something’)
打印到控制台来检查它的实际内容。因此,您在尝试调用不存在的函数时会得到正常的JavaScript错误(因为.prop(‘something’).matchesElement
将是未定义的)。
答案 1 :(得分:0)
因此,您可以用shallow
包装道具以初始化Shallow Wrapper,并使用类似的方法进行断言
shallow(
shallow(<ComponentUnderTest />).prop(‘something’)
)
.matchesElement(<span>?</span>)