1

コマンドプロンプトを使用して実行するJavaベースのアプリケーションがあります。現在、手動でテストしています。プロセスを自動化したい。どのツールまたはスクリプトを使用すればよいですか?

例えば:

  1. まずjava、.java ファイルを実行するコマンドを実行します。
  2. 私のアプリケーションには 5 つのオプションがあります。たとえば、
    私。イを追加
    します。
    iiiを減算します。掛ける iv.分ける。

オプションの 1 つを選択し、数値を追加して、期待される結果で結果を検証する必要があります。これはすべてコマンドプロンプトを使用して行われます。

4

3 に答える 3

2

コマンド プロンプト ソリューションを求めていることは承知していますが、実際には JUnit を検討する必要があります。これは、さまざまなテスト条件に対して、はるかに保守しやすいソリューションになります。コマンド ラインを使用する場合は、すべての入力と出力を解析する必要があります。コードを真にテストするために、コマンド ライン (stdin、stdout) の中間を通過する必要はありません。変数にアクセスできるため、Java コードを実行する Java コードが必要です。

本当にコマンド ラインを使用することに設定されている場合は、プログラムの実行方法に関する詳細を提供する必要があります。これは暗闇の中でのショットです。

inputs.txt (これらは、プログラムに供給される入力です)

Add
4
6

test.bat

@ECHO OFF
:: I just assume that your program prompts for input and waits for stdin
java YourMainClass < inputs.txt > testOutput.txt 
:: Program prompts for an operation; "Add" is read from inputs.txt
:: Program prompts for values; "4" and "6" are read from inputs.txt
:: Program prints out the result, which is redirected to testOutput.txt
:: Now you have to read in the testOutput.txt file and look at the last line
FOR /F %%i IN (testOutput.txt) DO SET RESULT=%%i
:: The variable RESULT now contains your program's answer
:: Create a variable to compare your actual result with the expected result
SET EXPECTED=10
IF %RESULT% == %EXPECTED% ECHO "You were correct"
IF NOT %RESULT% == %EXPECTED% ECHO "You were not correct"
于 2012-12-19T15:44:19.700 に答える
0

バッチファイルを使用する必要があります。コマンドをメモ帳ファイルに入れて、として保存します.bat

それらがネイティブバッチコマンドではない場合、いくつかの変更が必要になる可能性がありますが、確認する前にコマンドを投稿する必要があります。

于 2012-12-19T15:39:55.397 に答える
0

標準入力は Java アプリケーションに入力できます。bash を使用している場合は、次のように実行できます。

java myapp.java < test1

myapp.java は main-method を使用したアプリケーションで、test1 はテスト入力 (プレーンな古いテキスト ファイル) です。

于 2012-12-19T15:51:23.343 に答える