2011-08-07 9 views
5

.Entegrasyon Test onunla iyi HTML5 tuval öğesi üzerinde relient bir web uygulaması için BDD kullanılacak yöntemi ve kullanıcı etkileşimi bulmaya hafta geçmiş çift üzerinde yöntemlerle deneyler yapıyorlar Tuval

Rspec ile Jasmine ve Salatalık kullanmaktayım, başvurumun her bir parçası için özelliğe ve bütünleşme testine başvurdum ama tuvalete entegrasyon testi yaptırmak için yaptığım her türlü girişim başarısız oldu ... başarısız oldu. Ben tuval ile etkileşim yanı sıra başlatılan bir jQuery eklentisi yazdım.

Sana

$("canvas").draw("lineTo", 10, 10) 

gibi bir şey aradığınızda noktaları (10,10) de tuval eleman oluşturulmuş bir çizgi aslında olduğundan emin olduktan, Entegrasyon testine tuval üzerine gerçek çizim istedi. Değişikliklerin kanıtlandığı budur, herhangi bir çizilen piksel üzerinde getImageData() bağlamsal yöntemini kullanmaya çalıştım. Bu bana bir çukura neden oldu, tuvali nasıl sorguladım, siyah bir saydam piksel temsil eden piksel verisi alıyorum, MDC tarafından bağlamı tarıyordum.

Bence bu RoR ile Yasemin gem ile bir konudur. Bu sorunu çözebilirsem altın olurdum ama kabul etmek istediğim tek çözüm bu değil. Aslında piksel verilerini doğrudan kontrol etmese bile, tuvali test etmenin etkili bir yolunu düşünmeye gerçekten yardımcı olmak isterim.

Teşekkür herhangi bir yardımın için, bu gerçekten bir blok içine beni çalıştırılır.

cevap

3

ben test Tuval için Yasemin ile entegre bir araçtır, js-ImageDiff, yazdım. Burada bir örnek görebilirsiniz: unit testing canvas with javascript imagediff and jasmine. Bu yararlı olup olmadığını bana bildirin.

Ancak, diff yapmak getImageData kullanmaz. Bu aramayla ilgili belirli hatalar mı alıyorsunuz? Veya atıfta bulunduğunuz MDC sayfasına bir linkiniz var mı?

+0

Ne serin matcher seti, zor kısmı So benim durumumda – austinbv

+0

karşı test etmek tuval ne beklediklerini üreten olacağını https://github.com/hayesmaker/phase-2-e, ben daha çok BDD daha regresyon testleri için bunu kullanın:

burada bazı örneklere bakın. Geliştirme sürümüne karşı bir projenin kararlı bir sürümünü test ediyorum. biri el tuval üzerine çizim ve spec 'tuvale bir yöntem yazarak küçük testler yaratabilir, BDD bu kullanın. Bildiğim tek diğer seçenek, sahte bir tuval ve yasemin casusları kullanmak. Testinizin, sahte tuval bağlamında belirli yöntemlerin kullanılmasını beklediğini gösteren ayetler olduğunu daha sezgisel olduğunu iddia ediyorum. – cesutherland

+0

Evet casuslar kullanıyorum – austinbv

0

Bunun için Nightwatchjs kullanabilirsiniz ... http://nightwatchjs.org/ Ayrıca DOM elemanları ile etkileşim için bir api vardır, ama ayrıca uzatılabilir. Uçtan uca testleri Canvas tabanlı Phaser oyunlarında kullanabileceğiniz bazı özel komutlar ve iddialar yazdım, ancak tuval resminin nasıl yapılacağını görüp, kendi çizim testlerinizi oluşturup kendi testlerinizi oluşturduğunuzu görebilirsiniz.