Ruby on rails 3.1 功能测试、jQuery和assert\u select\u jQuery

Ruby on rails 3.1 功能测试、jQuery和assert\u select\u jQuery,ruby-on-rails-3.1,Ruby On Rails 3.1,在我的应用程序中,我使用了一个jQuery插件FullCalendar——它是一个jQuery日历,看起来像谷歌日历 我想编写一个功能测试(CalendarControllerTest

在我的应用程序中,我使用了一个jQuery插件FullCalendar——它是一个jQuery日历,看起来像谷歌日历

我想编写一个功能测试(CalendarControllerTest 如果日历是常规HTML,那么这将很容易,相反,它是用JavaScript编写的,因此在我的HTML页面中,我有:


[...]
在calendar.js内部(Rails 3.1-CalendarController+calendar.js+calendar.css+CalendarControllerTest中的脚手架),我加载FullCalendar:

$(“#日历”).fullCalendar();
因此,在我的功能测试(CalendarControllerTest)中,这将不起作用:

#检查是否存在,即是否显示日历
断言\u选择'.fc内容',计数:1
我尝试使用assert\u select\u jquery,但没有成功:

assert_select_jquery:html,#calendar'do
断言\u选择'.fc内容',计数:1
终止
我知道Webrat/Capybara,但据我所知,它用于集成测试,而不是功能测试

你会怎么做?

回答我自己。。。 我使用默认的Rails测试框架来测试模型和控制器(test/unit和test/functional目录)。 当您使用诸如create.js.erb或destroy.js.erb之类的非结构化JavaScript时,assert\u select\u jquery将与函数测试(控制器)一起使用。 我没有在Functional测试中完全测试JavaScript,因此我在目录测试/集成中使用了Capybara