CodeIgniter ve SimpleTest -

2 Cevap php

Ben LAMP, PHP5, MySQL artı Xdebug ile NetBeans kullanarak web geliştirme için alışkınım.

Şimdi ben (A) uygun test ve (B) bir çerçeve kullanmayı öğrenerek, benim geliştirme geliştirmek istiyorum. Yani CodeIgniter'ı, SimpleTest ve easy Xdebug eklenti Firefox için kurdunuz. maroonbytes açık talimatlar ve indirmek için hazır bir yapılandırılmış kurulum ile bana verilen çünkü bu çok eğlenceli. Ben devlerin omuzlarında ayakta ve çok minnettar duyuyorum.

Ben geçmişte biraz SimpleTest kullandım. İşte benim yazdığım şey bir tür:

<?php
require_once('../simpletest/unit_tester.php');
require_once('../simpletest/reporter.php');

class TestOfMysqlTransaction extends UnitTestCase {
  function testDB_ViewTable() {
    $this->assertEqual(1,1);   // a pseudo-test
  }
}
$test = new TestOfMysqlTransaction();
$test->run(new HtmlReporter())
?>

Yani ben bir test neye benzediğini biliyorum umuyoruz. Nerede ve nasıl benim yeni kurulumunda bir test koymak için ne anlamaya olamaz. Ben maroonbytes paketinde herhangi bir örnek testler görmüyorum, ve Google şimdiye kadar birim test zaten işlevsel olarak kullanılabilir olduğunu varsaymak mesajların bana yol açmıştır. Ben ne yapmalıyım?

2 Cevap

İlk testleri doğru adlandırılması gerekir. Bir test welcome.php dosyaya yerleştirilmiş bir kontrolör karşılama test etmek için / welcome_controller_test.php adında ve test / denetleyicileri altında saklanır. Daha fazla bilgi için, bkz: this post.

İkincisi, xdebug GET argümanı testi rutin engeller. Sadece yukarıdaki yazıyı görmek, aynı zamanda this post.

Üçüncüsü, ben haberi saplama testi two dört satır silindi gerekli:

//require_once('../simpletest/unit_tester.php');
//require_once('../simpletest/reporter.php');
...
//$test = new TestOfMysqlTransaction();
//$test->run(new HtmlReporter())

Ben şimdi oldukça mutlu testleri yapıyorum. CodeIgniter beni çok TDD amacım ulaşılabilir görünüyor, kolayca testler korumak / oluşturmanızı sağlar. TDD Benim önceki girişimleri bana fikir verdi, ama bana etkili olduğu (ve biz VBA tartışmak değil!) Için çizik PHP sadece çok kısır.

Edit:

Eğer maroonbytes kurulumu takip ediyorsanız, sadece yönergeleri izleyin:

  1. SimpleTest çerçeve indirin ve @ CodeIgniter dizine dosyaları ayıklamak.
  2. In both your main folder and your admin/application folder create a new folder called tests.
  3. Within the new tests folder setup additional folders called ‘models’, ‘views’, ‘controllers’, ‘libraries’ and ‘helpers’.

. Php ve bu klasörlerin herhangi bir iç bir UnitTestCase ile biten herhangi bir dosya, çalıştırılmalıdır. :)