假设我在 DOM 中有一个 div
,宽度为 '200px'
,class
为 'target'
.
为了用cypress测试它的宽度,我应该写下面的代码:
cy.get('.target').should('have.css', 'width', '200px');
还有一堆测试,测试元素的宽度和高度...
...
今天发生了一件奇怪的事!
所有这些测试都失败了,因为 cypress 发现的 width
的值是 200.0000000000032038879956012px
而不是 200px
!!!
我想到的第一个解决方案是用实际数字(例如,200
)而不是字符串(例如,'200px'
)来测试它们柏树发现的;我认为这是一个昂贵的想法!
你认为我该如何克服这个问题!?
最佳答案
无需任何转换即可匹配,
cy.get('div')
.invoke('css', 'width')
.should('match', /200.*px/) // matches 200.0000000000032038879956012px or 200px
关于css - 当计算出的宽度不准确时,如何在柏树中测试元素的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72414377/