Функциональные тесты, jQuery и assert_select_jquery - PullRequest
1 голос
/ 23 октября 2011

Внутри моего приложения я использую плагин jQuery, FullCalendar - это календарь jQuery, который выглядит как Календарь Google.

Я хотел бы написать функциональный тест (CalendarControllerTest

Это было бы легко, если бы календарь был обычным HTML, вместо этого он написан на JavaScript, поэтому внутри моей HTML-страницы есть:

<script src="fullcalendar.js" type="text/javascript"></script>
<script src="calendar.js" type="text/javascript"></script>
[...]
<div id="calendar"></div>

Внутри calendar.js (леса из Rails 3.1 - CalendarController + calendar.js + calendar.css + CalendarControllerTest) Я загружаю FullCalendar:

$('#calendar').fullCalendar();

Таким образом, в моем функциональном тесте (CalendarControllerTest) это не будет работать:

# Checks <div class="fc-content"> is present i.e the calendar is being displayed
assert_select '.fc-content', count: 1

Я безуспешно пытался использовать assert_select_jquery:

assert_select_jquery :html, '#calendar' do
  assert_select '.fc-content', count: 1
end

Я знаю о Webrat / Capybara, но, как я вижу, он используется для интеграционных тестов, а не функциональных тестов.

Как бы вы это сделали?

1 Ответ

0 голосов
/ 16 февраля 2012

Отвечая самому себе ... Я использую стандартную платформу Rails для тестирования модели и контроллеров (каталоги test / unit и test / functionnal).assert_select_jquery используется с функциональными тестами (контроллером), когда у вас есть ненавязчивый JavaScript, такой как create.js.erb или destroy.js.erb.Я не полностью тестирую JavaScript внутри функциональных тестов, для этого я использую Capybara в каталоге test /gration.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...