CWebTestCase uzatmayı denediniz mi? Genelde, birim testleri yazarken gerekli verileri sağlamak için fikstürler ve şeyler vardır - ancak web uygulamaları için görünümler ve 'işlevsel' testlerle ilgili testlerle, genellikle bir tarayıcıyı taklit etmek ve web uygulamasında eylemleri gerçekleştirmesini sağlamak en kolay yoldur. Bir kullanıcı bunu kullanıyorsa. Şu anda, bu taklit Selenium (bence) ile en kolay yapılır.
Functional Testing'daki Yii Kılavuzu, Selenium Documentation'un yanı sıra başlamak için iyi bir yerdir. Ayrıca, selenyum kullanarak devam eden this book da var (En yeni baskının yapıp yapmadığını bilmiyorum, ama Yayınlanma Tarihi: 11 Ağustos, 2010 ile önceki sürümü biliyorum) ve Larry Ullman'ın Yii Book'un test ve bölümlerin kullanımıyla ilgili bölümleri olacak. Bu bölümü tamamladığında fonksiyonel testlerde selenyum.
Bu yardımcı olur umarız!
ayrıca CWebTestCase
CWebTestCase açıklamaya Güncelleme ', doğrudan o metin var iddia, görüş iç görünümleri test Widget oluşturulmasını test etmek için PHPUnit içinde kullanabileceğiniz bir fonksiyonel test temel uygular PHPUnit_Extensions_SeleniumTestCase uzanır 'bağlantılar' vb. tıklatınız. Bu testler hala çalıştırılmak üzere Selenium-RC sunucusunun çalıştırılmasını gerektirecek ve geçerli bir tarayıcı yapılandırılmasını gerektirecek şekilde komut satırından çalıştırılır. Geçerli bir tarayıcı setUp()
fonksiyonun içine yerleştirilmiş aşağıdaki olduğunca az kod ile yapılandırılabilir: CWebTestCase olarak aşağıdaki sağlar PHPUnit_Extensions_SeleniumTestCase, uzanır olarak
$this->setBrowser('*firefox /usr/lib/firefox/firefox-bin');
bu kod kapsama belirten CWebTestCase tarafından temin edilemez, doğru değildir the documentation alıntı:
Copy 0123: testler Selenyum üzerinden çalışmasını için
PHPUnit_Extensions_SeleniumTestCase kodu kapma bilgi toplayabilir, web sunucunuzun belge kök dizinine girin. web sunucunuzun php.ini yapılandırma dosyasında sırasıyla auto_prepend_file
ve auto_append_file
gibi
PHPUnit/Extensions/SeleniumTestCase/prepend.php
ve PHPUnit/Extensions/SeleniumTestCase/append.php
yapılandırın.PHPUnit_Extensions_SeleniumTestCase
uzanır test vaka sınıfında, phpunit_coverage.php
komut dosyası için bir URL yapılandırmak
protected $coverageScriptUrl = 'http://host/phpunit_coverage.php';
kullanın.
Harika soru! Keşke 10 dakika içinde öğrenebileceğiniz standart kayar kalıp işlevselliğinden ziyade, çerçeve kılavuzları ve kitaplarda ünite ve fonksiyon testine daha fazla önem verilmesini dilerim. – AndrewPK