0
私はこの質問に多くの答えを見たことがありますが、これらのいずれかが私のために働くと私は理由を知らない。何かの前にデータベースをドロップ
だから、私はテストを実行する前に、いくつかを追加した後、データベース内のすべてのデータを削除したいと思います。 (でも、テストのタイトルは表示されません)、
const db = require('../models');
describe('Setup database for testing',() => {
before('Sync and create data', done => {
db.sequelize
.query('SET FOREIGN_KEY_CHECKS = 0', null, {raw: true})
.then(() => {
db.User.sync({force: true});
})
// Create everything the tests need here
.then(() => {
db.User.create({username: 'foo', password: 'secret', email: '[email protected]'});
})
.then(() => {
db.sequelize.query('SET FOREIGN_KEY_CHECKS = 1', null, {raw: true});
})
.then(() => {
done();
});
});
});
を、私は私のテストフォルダにモカを実行すると、私はエラーを持っていない、何も前にフックが実行されている私に言っていない:これは私がこれまで行ってきたものです。しかし、ファイルがダミーコードを書き込むときにエラーが発生するため、ファイルが実行されています。
ありがとうございます!しかし、今、私は '親行を削除または更新できません:外来キー制約が失敗しました'というエラーが出たり、 'SET FOREIGN_KEY_CHECKS = 0'を実行しました。 – Wizix