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