pg-promise
テーブルの削除とテーブルの再作成を伴ういくつかのテストに取り組んでいます。
ローカル マシンですべてのテストに合格します。しかし ではtravis-ci
、すべてのDROP TABLE ...
SQL をスキップしているようで、結果としてテストが失敗します。
誰でも理由がわかりますか?許可の問題ですか?
travis-ci
postgres サーバーに接続するなど、これをさらにデバッグする方法はありますか?
更新:すべてのテストがローカル環境でパスするため、コードを配置しなかったため、それは単なる問題だと思いましたtravis-ci
。traivs-ci
以下は、スキップしていると思われるビットです。
afterEach('cleanup tables', (done) => {
db.none('DROP TABLE $1~', 'syncTest')
.then(done)
.catch(() => done());
});
beforeEach('cleanup tables', (done) => {
db.none('DROP TABLE $1~', 'syncTest')
.then(done)
.catch(() => done());
});
Update2:さらにいくつかのテストを行った結果、テストが失敗したのはそれが原因であることが判明しました。
db.one('SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name=$1)', [tableName])
期待値を返していませんでした。クエリは{ '?column?': false }
travis で返されますが{ exists: false }
、ローカル環境で返されます。
これはtravis-ci
問題ですか?またはpostgresのバージョンの問題?