Последние пару недель я экспериментировал с методами, пытаясь найти лучший метод использования BDD для веб-приложения, основанного на элементе холста HTML5 и взаимодействии с ним пользователя.
Я использовал Jasmine и Cucumber с Rspec для спецификации и интеграционного тестирования каждой части моего приложения, но любая попытка, которую мне пришлось предпринять для интеграционного тестирования холста, оказалась ... безуспешной. Я написал плагин jQuery, который обрабатывает взаимодействие с холстом, а также его инициализирует.
Я хотел, чтобы интегрирование протестировало фактический рисунок на холсте, убедившись, что при вызове чего-то вроде
$("canvas").draw("lineTo", 10, 10)
на самом деле создается линия на элементе холста в точках (10,10). Вот что доказал подменыш, я пробовал использовать контекстный метод getImageData () на любых нарисованных пикселях. Это привело меня в дыру, независимо от того, как я запрашиваю холст, я получаю пиксельные данные, представляющие черный прозрачный пиксель, который в MDC говорит, что я запрашиваю холст вне контекста.
Это, я думаю, проблема с Жасмин с RoR. Если бы я мог решить эту проблему, я был бы золотым, но это не единственное решение, которое я готов принять. Я действительно хотел бы помочь придумать эффективный способ интеграции теста холста, даже если я на самом деле не проверяю данные пикселей напрямую.
Спасибо всем за вашу помощь, это действительно поставило меня в тупик.