Yani SimpleTest CodeIgniter ile kurmak var ettik (https://github.com/ericbarnes/codeigniter-simpletest)
Ben çalışan bazı basit testler var ve işler iyi görünüyorsun. Ama ben bir blok vuruyorum. Ben oturum verilerini kullanarak test etmek için nasıl bilmiyorum.
Şey testler sadece iyi çalışıyor, olduğunu. Ama bazı istisnalar alıyorum. Ben ayrı ayrı benim testleri çalıştırın (yani, SimpleTest yılında "tüm" sekmesinden bir şey ama) sonra hiçbir sorunları yoktur. Ben "tüm" testler yaptığınızda, bu hatayı alıyorum:
Beklenmedik PHP hata [başlık bilgileri değiştirilemiyor - zaten (çıkış tarafından gönderilen başlıklar */www/public/tests/simpletest/extensions/my_reporter.php:193)] severity [E_WARNING] in [ * / www / sistem / kütüphaneleri / session.php hattında 408 başladı] Blockquote
Şimdi bu ikinci test daha sonra tüm oturumları ayarlamak benim tarayıcı kullanarak ve (benim durumumda, tamamlayan bir kullanıcı modeli test durumu var sen ilk test durumda tamamlandıktan sonra bunları yoketmek / set olamaz, ve neler olduğunu tahmin ediyorum istisna olan durum (doğrulama kütüphanesi).
Ben ilk test durumda yapıldıktan sonra, başlıklar zaten gönderilmiş olduğunu tahmin ediyorum.
<?php
class test_auth extends CodeIgniterUnitTestCase
{
public function __construct()
{
parent::__construct();
$this->UnitTestCase('Authorization Library');
$this->rand_good = rand(500,15000);
$this->rand_bad = rand(500,15000);
}
public function setUp()
{
$this->_ci->db->flush_cache();
$this->_ci->db->truncate('users');
$this->_ci->session->sess_destroy();
$this->_ci->session->unset_userdata('logged_in_id');
$u = new User();
$u->email = 'email' . $this->rand_good;
$u->password = 'pass' . $this->rand_good;
$u->confirm_password = 'pass' . $this->rand_good;
$u->save();
}
public function tearDown()
{
$u = new User();
$u->get();
foreach($u->all as $user)
{
$user->delete();
}
}
public function test_login_good_email_good_password()
{
$u = new User();
$u->email = 'email' . $this->rand_good;
$u->password = 'pass' . $this->rand_good;
$this->assertTrue($this->_ci->auth->login($u), 'login');
$this->assertTrue($this->_ci->auth->is_logged_in(), 'is logged in');
}
public function test_login_bad_email_bad_password()
{
$u = new User();
$u->email = 'email' . $this->rand_bad;
$u->password = 'pass' . $this->rand_bad;
$this->assertFalse($this->_ci->auth->login($u), 'login');
$this->assertFalse($this->_ci->auth->is_logged_in(), 'is logged in');
}
}
/* End of file test_auth.php */
Bu etkileyen iki satır session->sess_destroy()
ve session->unset_userdata()
vardır
Devrelerde () veya setUp () ya da bu hat aynı sorunu neden olur. Her biri bir başlık duruma neden olur.
Ben test dışarı tarayıcı katılmak ve SimpleTest nasılsa o taklit olduğunu umuyorum sanırım.
Bunu çözmek için ne yapabilirim?