Я предполагаю, что вы хотите проверить, что context
получает соответствующий id
, который представляет собой верхний регистр String
, начинающийся с name
и сопровождаемый 18 символами A-Z
или цифрами.
Я не знаю, какую платформу тестирования вы используете, но вы можете проверить id
с помощью Регулярного выражения :
// ignore this, just require the 'uniqid' module
const uniqid = str => `${str}4n5pxq24kpiob12og9`;
const addId = ({name}) => {
return context => {
// Generate a uniqid and add it user
context.data['id'] = uniqid(name).toUpperCase();
return context;
};
};
// addId should add an appropriate id to `user.data.id`
const {data: {id}} = addId({name: 'Annie'})({data: {}});
console.assert(/^ANNIE[A-Z\d]{18}$/.test(id));
[ 1119] Редактировать: Поскольку вы используете mocha
, вы также можете добавить в chai
и использовать его метод match
следующим образом:
Можно использовать mysqldump с опцией - игнорировать-таблица для исключения представлений индивидуально. Или используйте mysqldump и удалите представления с приложением/вручную. grep мог бы быть опцией:
grep -v "CREATE VIEW" db.dump > db-without-views.dump
Текущая реализация mysqldump не создаст дампы без представлений - и кроме того, (в прошлый раз, когда я проверил), представления на самом деле создаются дважды - однажды как таблица, затем таблица отбрасывается и заменяется с целью. Таким образом, Вы не можете только отфильтровать команду "CREATE VIEW", если то поведение не было изменено.
Однако mysqldump возьмет список таблиц как параметры после имени базы данных. Что-то вроде этого:
mysqldump -ujoe -pmysecret joesdb posts tags comments users
Резервное копирование одной таблицы из базы данных
mysqldump -uUSERNAME -pPASWORD DATABASE TABLE_NAME --host=HOST_NAME > c:\TABLE_NAME.sql
Восстановление отдельной таблицы из дампа базы данных
mysql -uUSERNAME -pPASSWORD DATABASE --host=HOST_NAME < c:\TABLE_NAME.sql