Тестирование ajax от therubyracer (или execjs)? - PullRequest
2 голосов
/ 31 января 2012

Я хочу протестировать код javascript из контекста ruby.В частности, я хочу настроить мою базу данных с помощью ruby, запросить ее с помощью моей модели javascript и подтвердить свое состояние javascript с помощью ruby.Я хочу сделать это без насмешек.

Я пытался просто загрузить свои клиентские библиотеки в контекст v8, но это приводит к тому, что therubyracer захлебывается разными способами (window not defined, userAgent not defined и т. Д.).

Кроме того, я использую браузеры без головы для тестирования своего кода javascript, но они не предоставляют мне рубиновый контекст, который мне нужно использовать в этих случаях.

Я думаю, что мне нужно загрузитьбраузер (или симулятор dom) в контексте v8, но я не знаю, какие библиотеки существуют для этого.Может быть, у вас есть другая идея?

Как я могу это сделать?

1 Ответ

2 голосов
/ 31 января 2012

Я использовал capybara-webkit для такого рода задач. На самом деле вам не нужно использовать помощники RSpec, вы также можете просто создать экземпляр браузера в памяти, который вы можете перенаправить на ваш HTML / Javascript. Преимущество заключается в том, что он предоставляет метод evaluate_script, который можно использовать для взаимодействия с контекстом Javascript браузера (для отправки / получения данных).

Применимо ли это в вашем случае, к какому типу "контекста ruby" вы должны иметь доступ со стороны Javascript.

Есть также некоторые другие проекты, которые могут вас заинтересовать:

...