测试 CSS :hover with Jasmine

Posted

技术标签:

【中文标题】测试 CSS :hover with Jasmine【英文标题】:Testing CSS :hover with Jasmine 【发布时间】:2012-10-15 22:12:56 【问题描述】:

所以我有一个简单的 div,当悬停时会改变它在我的 css 中定义的背景:

.my-class
    background-color:#FFFFFF;

.my-class:hover
    background-color:#F2F2F2;

我尝试用 jasmine 测试这种行为,但测试一直失败:

it "Shadows .soboo-drop-item when hover", ->
      $('.my-class:first').trigger('mouseover')
      expect($('.my-class:first').css('background-color')).toBe("#F2F2F2")

预期 'rgba(0, 0, 0, 0)' 为 '#F2F2F2'

在控制台上运行 $('.my-class:first').trigger('mouseover') 似乎不起作用 - 背景颜色没有改变。

注意:悬停 JQuery 行为确实响应 $('#something').trigger('mouseover')

我正在使用Jasminerice,其中包括Jasmine-JQuery

Jasmine-JQuery 有测试css的方法:

expect($('.my-class:first')).toHaveCss("background-color": "#F2F2F2")

这给了我:

Expected '<div class="soboo-service my-class"
service="google"><img
src="http://localhost:3000/img/bookmark-services/google.gif"> Google
Book...</div>' to have css  background-color : '#F2F2F2' 

如何检查这个背景? 提前致谢 =)

【问题讨论】:

【参考方案1】:

我做了以下事情:

overed = $($('.my-class:first').trigger('mouseover').html())
expect(overed).toHaveCss("background-color": "#F2F2F2")

【讨论】:

【参考方案2】:

试试这个: expect($('.my-class:first')).toHaveCss("background-color","#F2F2F2");

【讨论】:

以上是关于测试 CSS :hover with Jasmine的主要内容,如果未能解决你的问题,请参考以下文章

从 :hover with .css() 获取 css 值 - jquery

使用 jasmin 使用带有 async/await 的 $httpBackend 测试角度服务

Selenium 和 :hover css

CSS设定DIV隐藏 能不能通过.hover 让其显示出来

CSS中2d转换:transition过渡放在:hover伪类中与应用在整个元素中区别

CSS3 hover transform 图片会抖动怎么解决?