したがって、これはクラスの下のリンクであり、メインメソッドがありません。メソッド[[1]:] [1]のすべての行が処理されているかどうか、そうでない場合はどこでエラーが発生するかをテストして確認しようとしています。
3 に答える
あなたが探しているのはJUnit、またはより具体的には、そこの「はじめに」の下のサイトです。
要するに、Dog
このようなメソッドを持つクラスがあった場合
public boolean isBrown() {
// some hard & heavy logic
}
おそらく、それが機能するかどうかを確認したいと思うでしょう。これを行うには、test
いくつかのテスト クラスを使用してアプリケーション内にパッケージを作成します。そのうちの 1 つに名前を付けDogTests
て、これを含める必要があります。
public class DogTests {
@Test(expected = NullPointerException.class)
public void nullDogShouldFailWithNpe() throws Exception {
new Dog(3, 14, null);
}
@Test
public void brownDogShouldBeBrown() throws Exception {
Animal animal = new Dog(3, 14, "brown");
assertTrue(animal.isBrown());
}
@Test
public void greenDogShouldNotBeBrown() throws Exception {
Animal animal = new Dog(3, 14, "green");
assertTrue(animal.isBrown());
}
}
assert
これらのメソッドに関するドキュメントはこちらにあります。
@Test
メソッドの上の注釈が見えますか? これは、 「私はテスト メソッドです。このクラスからテストを実行するときは、私も実行してください!」という JUnit 4 の構造です。ここにメソッドは必要ありませんmain()
。含まれているクラスを「実行」しようとすると、IDE はすべての@Test
注釈付きメソッド自体を認識して実行し、テスト結果を表示します。
複数のテスト スイートを配置したり、テストを同時に実行したり、アプリケーションのビルド時にそれらを自動的に実行したり、その他すべての種類のテスト マジックを実行したりすることもできます。これを開始して、Web サイトを掘り下げると、ユニット テストの優れた点がすぐに見つかります。 .
テストするメソッドが静的でない場合は、まずオブジェクトを構築してからメソッドを呼び出すことができます。JUnit テスト ケースが、テスト対象のクラスと同じ名前のパッケージに含まれている場合、パブリック メンバーと保護メンバーの両方にアクセスできます。HashMap
main メソッドを持たないクラスに対するテストの例を次に示します。
public void testDuplicateKey() throws Exception {
HashMap<String,String> map=new HashMap();
// setup
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
assertEquals(3, map.size());
// overwrite an existing key
map.put("key2", "value4");
assertEquals(3, map.size());
assertEquals("value4", map.get("key2"));
}
BlueJを使用します。Mainメソッドが存在しなくてもオブジェクトを操作できます。
JavaファイルをIDEにインポートし、取得したクラスのクラス図プレゼンテーションを右クリックして、そのオブジェクトを作成するだけです。IDEは、クラスやオブジェクトの画像表現で多くの機能を発揮するという点で、非常に基本的でユーザーフレンドリーです。
指定した1つまたは複数のクラスのオブジェクトがある場合、IDEの下部にオブジェクトが表示され、右クリックして操作できます。幸運を。