Повторное использование кода в codeception

Всё про тестирование в Yii 2.0
Ответить
voodooism
Сообщения: 48
Зарегистрирован: 2018.11.12, 10:29

Повторное использование кода в codeception

Сообщение voodooism »

Я тестирую модели yii2 приложения.
Есть несколько тестов которые будут повторятся в каждой модели. Например - мне нужно проверить, что в модели для каждого поля задано здачение в методе 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);
        }
    }
        
Конечно можно просто копипастить этот метод в каждый тест, но всё таки хотелось бы разобраться, как использовать тесты повторно?
Ответить