Я новичок в Simpletest и столкнулся с проблемой при создании светильников. Так как я использую версию CakePHP 1.3.14 для моего приложения.
Создан прибор с именем filenameint_fixture.php
class ComplaintFixture extends CakeTestFixture {
var $name = 'Complaint';
var $import = array('table' => 'complaints', 'records' => true);
// do not truncate movie_stars table between tests
public function truncate($db) {
return null;
}
// do not drop movie_stars table between tests
public function drop($db) {
return null;
}
}
Создан тестовый пример с именем complaint.test.php
App::import('Model', 'Complaint');
class ComplaintTestCase extends CakeTestCase {
var $fixtures = array('app.Complaint');
function setUp($method) {
parent::setUp();
$this->Complaint = & ClassRegistry::init('Complaint');
// load data
$this->loadFixtures('Complaint');
}
function testFixture() {
$numberOfResults = $this->Complaint->find('count');
var_dump($numberOfResults);
}
/*
function testupdateComplaintStatus(){
$result = $this->Complaint->updateComplaintStatus(47,'ACT');
$this->assertEqual($result,1,'Status updated successfully!');
} */
}
Как видно из приведенного выше кода, создается прибор с именем Complaint, а затем для его загрузки используется тестовый пример. Итак, что я прочитал об этом из руководства разработчика
— мы создаем светильник с указанием имени поля и набора записей
— загрузить этот прибор в класс тестовой модели.
НО, что я ищу, так это выполнение CRUD-операций над тестовыми данными, которые вставляются в тестовую базу данных. И когда я пытаюсь сделать то же самое с приведенным выше сценарием, он начинает влиять на записи производственной базы данных вместо тестовой базы данных.
Если вы видите в приведенном выше коде, я даже остановился усекать а также падение для тестовых данных, но не в состоянии разобраться в проблеме.
Может кто-нибудь сообщить мне, что я пропустил в приведенном выше коде?
Задача ещё не решена.
Других решений пока нет …