2017-10-29 13 views
2

私は自分のノードアプリケーションの単体テストをするつもりです。私は開発のためのpostgresqlデータベースとテストのためのSQLiteを使用しています。しかし、Sqliteはto_tsvectorのようなpostgresqlのいくつかの機能を理解していませんし、時々SQLITE databse lockedという問題があります。だから、私は、サーバ上でアプリケーションをローカルでビルドすることをテストすると思います。それは良い解決策ですか?私は使用すると言われるいくつかの選択肢を見つけたdocker container testing with dockerポストグルを使ってローカルとビルドサーバーで単体テストを行う方法は?

したがって、ローカルとサーバービルドでpostgresテストを実行するのに適したソリューションは何ですか?

答えて

2

I would avoid using the database in the unit tests as they are now dependant on an external system:ユニットテストという

一部が被試験 コード外部物事をモックまたはアウトスタブされていることを意味します。ユニットテストでは、外部システムに依存するものはありません( )。彼らは内部の整合性を としてテストします。これは、外部システムによってうまくいくことを証明するのとは対照的です。

基本的に、データベースへの呼び出しをモックするので、使用する必要はありません。

しかし、実際にPostgresデータベースを使用する必要がある場合は、作成ファイルにofficial imageを使用し、スキーマで初期化する必要があります。

データベースのロックに関しては、SQLiteの代わりにPostgresを使用した後で消えてしまうことがあります。また、テストに並行性があるかどうかを確認することもできます。

関連する問題