我在rspec中有一些当前的功能规范,目前正在测试一些javascript功能。在这些库中,我使用Modernizr来主要检测touchevents
。由于我使用的是Poltergeist和PhantomJS,Modernizr.touchevents
总是返回true,即使我希望它返回false来运行其他条件。
有没有办法明确地将Modernizr.touchevents
或只是Modernizr整合在一起?
我尝试了以下内容:
Modernizr.touchevents = false
Modernizr.touchevents = {}
Modernizr = {}
即使它不是Modernizr,如何在测试时不关心它的功能,如何存储javascript库。
由于
编辑:
到目前为止,仅仅执行Modernizr.touchevents = false;
是正确的吗?如果我设置它,Modernizr会重新初始化吗?或者这是永久性的吗?
编辑2:
由于我使用的是poltergeist和phantomjs,Modernizr认为它是一款触控设备。我希望能够切换它。
答案 0 :(得分:0)
From the rspec-rails docs设计的调用函数:
功能规格是用于执行切片的高级测试 通过应用程序的功能。他们应该开车 应用程序只通过其外部接口,通常是网页。
您的功能规范不应该执行用户无法通过UI执行的任何操作(例如:键入URL,单击链接等)。模拟/存根Javascript不适合这种测试。