Есть несколько тестов которые будут повторятся в каждой модели. Например - мне нужно проверить, что в модели для каждого поля задано здачение в методе attributeLabels. Или другой пример, проверка правил валидации: нужно проверить что определенные поля модели обязательны для заполнения.
Вот пример теста, который будет почти в каждой модели:
Код: Выделить всё
public function testAttributeLabels()
{
$db = ClassName::getDb();
$tableName = ClassName::tableName();
$model = new ClassName();
$attributeLabels = $model->attributeLabels();
$tableSchema = $db->getTableSchema($tableName, true);
$columns = $tableSchema->getColumnNames();
foreach ($columns as $column) {
$this->assertArrayHasKey($column, $attributeLabels);
}
}