私はJUnitテストの作成と実行を開始する方法を理解しようとしています。
この記事を読んでいるとき:
http://junit.sourceforge.net/doc/testinfected/testing.htm
「JUnitにはテストを実行するためのグラフィカルインターフェイスが付属しています。ウィンドウ上部のフィールドにテストクラスの名前を入力してください。実行ボタンを押してください。」
このプログラムを起動する方法がわかりません。それがどのパッケージに入っているのか、またはIDEからライブラリクラスをどのように実行するのかもわかりません。
行き詰まって、私はこのNetBeansチュートリアルを試しました:
http://www.netbeans.org/kb/docs/Java/junit-intro.html
うまくいっているように見えましたが、このチュートリアルのメニューオプションJavaクラスライブラリは通常のJavaアプリケーション、またはJava Webアプリの場合。したがって、このチュートリアルの手順は一般には適用されません。
NetBeans 6.7を使用していて、JUnit 4.5をライブラリフォルダーにインポートしました。テストを作成した後、JUnitを実行する通常の方法は何ですか?
JUnit FAQはコンソールからのプロセスを説明しており、それが典型的なものであればそれでもかまいませんが、netbeans内で実行できるすべてのことを考えると、それを信じることは難しいようですより簡単な方法はありません。
どうもありがとう。
EDIT:プロジェクトを右クリックして[テスト]を選択すると、出力は次のようになります。
init:
deps-jar:
compile:
compile-test:
test-report:
test:
BUILD SUCCESSFUL (total time: 0 seconds)
これは、特にテスト条件がtrueであるかどうかに関係なく、テストの望ましい出力として私に影響を与えません。
何か案は?
1つの方法は、[プロジェクト]ペインでプロジェクトを右クリックし、[テスト]を選択することです。これでJUnitテストが実行されます。また、テストファイルを右クリックして[テストを実行]を選択すると、その単一のファイルが実行されます。キーボードショートカットは、キーマッピングの設定方法によって異なりますが、コンテキストメニューに表示されます。
ソースファイルを右クリックし、[ツール]> [JUnitテストの作成]をクリックして、NetBeansにテストを自動生成させることもできます。
再インポートは必要ないようです。同じ問題がありました(インポートしたプロジェクト、右クリックしてもJUnitテストオプションが表示されませんでした)。私はNetBeans 6.8を使用して、それを解決する次の手順を実行しました。
EclipseプロジェクトをNetBeansにインポートした後も同じ問題がありました。
それを解決するために、alangallowayで概説されている上記の手順に従いましたが、新しいフォルダーを作成する代わりに、インポートしたテストフォルダーをポイントしました。
おそらく将来のリリースでは、NetBeansはインポートされたテストケースを自動的に認識することができます。
ありがとう。
上記の答えはすべて正しいですが、Macで使用している場合は、ほとんど変更する必要はありません。
ステップ1 junitクラスを記述します。
ステップ2クラスを右クリック->ツール->テストの作成/更新-> Junitとしてフレームワークを選択-> [OK]をクリックします。
ステップもう一度ファイルを右クリック->テストファイル。
これでjunitとして実行され、テスト結果が表示されます。
回答は受け入れましたが、他の人が遭遇する可能性があるので、自分の難しさについて触れておきましょう。
プロジェクトを既存のソースからNetBeansにインポートする場合、テストパッケージのフォルダを指定しないと、NetBeansはツールメニューにJUnitオプションを提供しません。
私が見つけた唯一の解決策は、プロジェクトを再インポートすることでした。原始的ではありましたが、うまくいきました。
同様の問題がありました。 Netbeans 7.0.1では、私にとってうまくいったのは、project.xmlファイル(つまり、{project} /nbproject/project.xml)を見つけて変更することでした。
<test-roots/>
に:
<test-roots>
<root id="src.dir"/>
</test-roots>
(私の場合、テストファイルはソースディレクトリと同じディレクトリにあります)