は現在、私は私のapp.js
と特別config/environment.js
で以下のようにしてnode-mysql
のための私のクライアント接続を設定しています:MySQLクライアントをNode.js(Express)アプリケーションでどこで定義しますか?
var client = mysql.createClient({
user: 'USER',
database: 'DATABASE',
password: 'PASSWORD',
host: 'HOST'
});
app.configure(function(){
...
app.set('client', client);
...
});
その後、私のクライアントコードで私はMySQLクライアントを使用するようにapp.settings.client
を呼び出します。
これは適切なアプローチであるかどうかはわかりません。アプリケーションの実行インスタンスが必要なため、テストを行っているときは確かに動作しません。
提案がありますか?
'app.settings.client'の代わりに' app.set( 'client') 'を使います。そして、それはテストでうまくいくはずです、ちょうど空の 'app'をあなたの単体テストに注入する必要があります – Raynos
@Raynos空の' app'をどのように注入しますか? –
はコードによって異なります。 [私はこのようなことをしています](https://github.com/Raynos/nCore-example/blob/master/test/routes-home.js)あなたのアーキテクチャは完全に異なっていると思います。 – Raynos