私は過去数週間、HTML5キャンバス要素に依存するWebアプリケーションにBDDを使用するための最良の方法を見つけようとして、メソッドを実験してきました。
私はRspecでJasmineとCucumberを使用して、アプリケーションのすべての部分の仕様と統合テストを行ってきましたが、キャンバスの統合テストを行う必要がありました...失敗しました。キャンバスとの対話と初期化を処理するjQueryプラグインを作成しました。
キャンバス上の実際の描画を統合テストして、次のようなものを呼び出すときに確認したかったのです。
$("canvas").draw("lineTo", 10, 10)
実際には、ポイント(10,10)でcanvas要素に作成された線があります。これが変化を証明したものです。描画されたピクセルに対してコンテキストメソッドgetImageData()を使用しようとしました。これにより、キャンバスをどのようにクエリしても、黒い透明なピクセルを表すピクセルデータが取得されます。これは、MDCによって、コンテキスト外でキャンバスをクエリしていると表示されます。
これは、RoRを使用したジャスミンジェムの問題だと思います。私がその問題を解決できれば、私は黄金になりますが、それは私が喜んで受け入れる唯一の解決策ではありません。実際にピクセルデータを直接チェックしていなくても、キャンバスの統合テストを行うための効果的な方法を考えてみたいと思います。
あなたの助けを誰かに感謝します、これは本当に私をブロックに陥らせます。