Я пытаюсь импортировать приборы в моем плагине CakePHP 3.x.
Когда я запускаю тесты, я всегда получаю ошибку:
UserManager \ Test \ TestCase \ Controller \ UsersControllerTest :: testProfile
исключение «Cake \ Datasource \ Exception \ RecordNotFoundException» с сообщением «Запись не найдена в таблице« пользователи »
Вот UsersFixture.php:
namespace UserManager\Test\Fixture;
use Cake\TestSuite\Fixture\TestFixture;
class UsersFixture extends TestFixture {
public $import = ['table' => 'users'];
}
Мой тест не пройден, потому что он не может найти текущего пользователя в тестовой базе данных.
Я предположил, что таблица пользователей создана успешно, но данные не импортируются.
Конечно, в моей существующей таблице пользователей записано много пользователей, и проверенный идентификатор пользователя является одной из этих записей.
Мой метод testIndex () тоже не работает, потому что количество записей всегда равно 0.
Почему таблица результатов не содержит мои записи?
К сожалению, я думаю, что с вашим кодом все в порядке. Из того, что я вижу, CakePHP 3.x делает не поддержка импорта записей таблиц в осветителях больше, только структура таблицы.
(См. Различия документов: 2.x: Импорт информации таблицы и записи, 3.x: Импорт информации таблицы)
Я не думаю, что есть какой-то способ обойти это, если вы не модифицируете ядро CakePHP 3.x напрямую.
Вы можете, конечно, импортировать записи в торт 3.
Из торта испечь bin/cake bake fixture invoice_statuses -r --count 100
Вам нужно будет восстанавливать это каждый раз, когда вы вносите изменения в таблицу, но это лучше, чем ничего. Дает вам хорошую отправную точку.
Вы также можете использовать условия для генерации очень специфических приборов.