所以我有这个测试案例需要解决。背景是将开发人员环境更新为较新版本,此后,我们的许多测试都失败了。
在这里,我有一个奇怪的情况,结果是: “无法解析选择器:标签价格明细1”
这是测试代码段的样子,我希望我已经添加了所有必要的内容。
it('Should render with price and one addon', () => {
data.addonHeaderName = 'addonHeaderName';
data.addons.push(
{
price: {
label: 'Addon text 1',
value: 50.33,
unit: 'dollars',
vat: 'excl'
},
discount: {
label: 'Addon text 2',
value: 11.43,
unit: 'dollars',
vat: 'excl'
},
future: false,
addonIcon: 'icon',
ecoText: 'Addon eco text',
linkUrl: 'http://testaddonlink.com'
}
);
data.contract.prices.push(
{
id: 'price',
label: 'Label price detail 1',
unit: 'dollars',
value: 4.03
},
{
id: 'Label price detail 2',
label: 'Discount',
unit: 'dollars',
value: -3.00
}
);
const component = shallow(
<MyContract
data={data}
andSomeOtherStuff={otherStuff}
/>
);
expect(component).toMatchSnapshot();
expect(component.find('Label price detail 1')).toBeTruthy();
expect(component.find('Label price detail 2')).toBeTruthy();
expect(component.find('Addon text 1')).toBeTruthy();
expect(component.find('Addon text 2')).toBeTruthy();
expect(component.find('Addon eco text')).toBeTruthy();
如果我注释掉第一个期望,它将击中下一个期望,然后击中另一个期望,依此类推。
之前我们同时运行Enzyme 2.9.1和酶Adaptor-react-15(当然还有React 15),但是由于我们已经升级到React 16,所以我们还需要更新其他一些依赖项,例如这个。然后狗屎砸了风扇。
现在我们使用的是Enzyme 3.8.0,enzyme-adapter-react-16.3和React 16.3.x。
我一直在努力尝试以字符串形式获取它,但没有bueno。关于我在这里缺少什么的任何想法?
答案 0 :(得分:0)
酶发现可与CSS选择器一起使用,因此,如果您想在标签上进行搜索,则应该使用类似以下内容的
:component.find('[label="Label price detail 1"]')
此外,我相信无论找到与否,这始终是真实的。 (虽然不确定那一个)。
我通常使用.toHaveLength(1)
检查它是否被渲染!
答案 1 :(得分:0)
我以前有过这个,这看起来像是打字错误。确认字符串。