1

Postgres データベースと通信するアプリのストレス テストを実行するテストを作成しています。複製可能にするために、実行するたびにデータベースを再作成したいと思います。アノテーションで装飾されたスタートアップ メソッドorg.junit.Beforeは、データベース (存在する場合) を削除し、ダンプ ファイルから復元します。この形式のシェル/コマンドを実行するのは簡単です:

psql -f db.out newdb

またはこれらの線に沿った何か。テストは、データベースをホストする同じマシンで実行されていない JVM で実行される可能性があるため、リモート マシンで Java プログラムからシェル/バッチ スクリプトを呼び出すことができるかどうか疑問に思っています。

ありがとう

4

2 に答える 2

4

マシンの詳細(ホスト名、ログイン、パスワード)を知っている場合、現時点で私が考えることができるのは、JavaSSHライブラリを使用してボックスにログインしてそのコマンドを実行することだけです。

または、正しいパラメータを指定してリモートマシンでスクリプトを実行するスクリプトをローカルマシンで作成することもできます。

それはとにかく私が考えることができる最も簡単な方法です!

于 2009-10-09T08:59:19.667 に答える
2

SSHの設定が複雑すぎる場合は、ソケットで接続をリッスンしてからスクリプトを実行する小さなJavaプログラムを作成できます。これをPostgresサーバーにインストールし、テストケースで接続します。

そうは言っても、すべての開発者マシンにPostgresのコピーをインストールすることをお勧めします。これにより、テストの実行が大幅に高速化され、2人の開発者が同時にテストを実行したときに誤ったエラーが発生することはありません。また、ネットワークの問題、誰かがサーバーのメンテナンスを行っている、開発者XがDBスキーマを変更したなどの理由で、エラーが発生することはありません。

于 2009-10-09T09:06:57.140 に答える