我有以下反应成分:
const FeatureAccess = ({ value }) => {
let liClass = `FeatureAccessList-item FeatureAccessList-item--${value}`
return (
<li class={liClass}>
<label for={`user_member_permission_ids_${value}`}>
<input
name='user[member_permission_ids][]'
id={`user_member_permission_ids_${value}`}
value={value}
/>
</label>
</li>
)
}
想法是
li
元素有两个类:
FeatureAccessList-item
FeatureAccessList-item--${value}
然而,我的测试总是失败,因为某些原因,酶不能正确地断言它:
it('should have the correct class depending on "value"', () => {
const value = 'Spider-sense'
wrapper.setProps({ value })
expect(wrapper.find('li').hasClass(`FeatureAccessList-item--${value}`)).toBe(true)
})
这没有任何意义,因为如果我记录
wrapper.find('li')
这就是我得到的:
console.log spec/javascripts/Users/components/FeatureAccess.spec.jsx:46
<li class="FeatureAccessList-item FeatureAccessList-item--Spider-sense">
<label for="user_member_permission_ids_Spider-sense">
<input class="user_member_permission_ids " name="user[member_permission_ids][]" id="user_member_permission_ids_Spider-sense" value="Spider-sense" type="checkbox" checked={false} onChange={[Function: onChange]} />
</label>
</li>
班在那里!这里发生了什么?
我也试过
find(`.FeatureAccessList-item--${value}`).exist()
它也返回假…