У меня есть модель User
, в которой есть крючок beforeCreate
, который шифрует пароль, используя bcrypyt
. Bcrypyt
загружается как зависимость по модели с использованием инструкции require
.Sequelize Model Unit Test
Теперь я пишу свои тесты для своих моделей, и я хочу написать тест, который гарантирует, что bcrypt
хеширует пароль при создании.
На данный момент я добавил сеттера на модель User
, которая устанавливает объект bcrypt
. В моих тестах я могу создать шпиона, используя sinon
и ввести шпиона, используя установщик, и убедиться, что он вызван при создании.
Правильно ли это делается? Мне кажется, что я создаю сеттер исключительно для своих тестов и что он не служит никакой другой цели.
За исключением того, что этот тест оставит вашу базу данных в грязном состоянии; после этого вы не очищаете. – Jez
@Jez 'И установка и срыв очень удобны для написания сценариев' – JoshWillik
Пока тест не сработает, и по какой-то причине срыв не может работать. – Jez