実際に別のマシンにsshを実行してコマンドを実行するコードの単体テストを書きたいと思います。私はこの問題をどのように攻撃するかについて迷っています。別のマシンにsshsするメソッドの単体テストを書く方法?
コードは、基本的に、リモートマシン上でいくつかのコマンド(copy
、grep
、awk
)を実行します。リモートマシンにアクセスすることなくテストを書く方法を教えてください。リモートマシン環境をどのようにエミュレートできますか?
考慮事項:
- 機械ユニットテストを実行するとsshコマンドを実行する必要があり、リモート・サーバーへのアクセス権を持っていないと仮定します。
実行コマンドはすべてメソッドの一部です(例:public void runCmd();)。その場合はどうすればよいですか? 他のすべてのメソッドはプライベートです。 – thestudent
懸念を分ける必要があるようです。あなたが行っていること(接続、スクリプトの実行、レスポンスの解析など)が1つのクラスに存在する場合は、クラスをいくつかのクラスに分割してそれぞれが責任を負うことを検討する必要があります。あなたは、個々の部品や動作をテストすることができます。 – Luke