Помогите мне, пожалуйста, понять, как работают юнит-тесты в Yii2. Я написал тесты:
<?php
namespace frontend\tests\unit\models;
use Yii;
use app\models\Category;
class ContactFormTest extends \Codeception\Test\Unit
{
public function testAddCorrect()
{
$model = new Category();
$model->attributes = [
'name' => 'Tester',
'cpu' => 'new-tester',
'description' => 'very important letter subject',
'image' => 'body of current message',
];
$this->assertTrue($model->save());
$this->assertTrue($model->name === 'Tester');
$id = $model->id;
$newmodel = Category::find()->where(['id' => $id])->one();
$this->assertTrue($newmodel->name === 'Tester');
}
И я ожидал, что это добавляет новую запись в базе данных. Но это не так. Тесты просыпаются хорошо, но отмечают добавление в БД. Я не могу понять, почему? И как мне написать тест, который проверит модель + БД?
unit.suit.yml
suite_namespace: frontend\tests\unit
actor: UnitTester
modules:
enabled:
- Yii2:
part: [orm, email, fixtures]
- Asserts
- Db:
dsn: 'mysql:host=docker.for.mac.localhost;dbname=store-light'
user: 'ysk_dbu'
password: 'ysk_pass'
cleanup: false
# cleanup: true
Задача ещё не решена.
Других решений пока нет …