web-dev-qa-db-ja.com

JUnit @Beforeおよび@Testとは

JavaでのJunit @Beforeおよび@Testアノテーションの使用とは何ですか? NetBeansでそれらを使用するにはどうすればよいですか?

23
shiva

もっと正確にできますか? @Beforeおよび@Testアノテーション?

@Testアノテーションは、アタッチされたメソッドが単体テストであることを示すアノテーション(JUnit 4以降)です。これにより、任意のメソッド名を使用してテストを行うことができます。例えば:

@Test
public void doSomeTestOnAMethod() {
  // Your test goes here.
  ...
}

@Before注釈は、アタッチされたメソッドが実行されることを示しますbeforeクラス内のテスト。主に、テストに必要ないくつかのオブジェクトをセットアップするために使用されます。

(インポートを追加するために編集):

import static org.junit.Assert.*; // Allows you to use directly assert methods, such as assertTrue(...), assertNull(...)

import org.junit.Test; // for @Test
import org.junit.Before; // for @Before

public class MyTest {

    private AnyObject anyObject;

    @Before
    public void initObjects() {
        anyObject = new AnyObject();
    }

    @Test
    public void aTestUsingAnyObject() {
        // Here, anyObject is not null...
        assertNotNull(anyObject);
        ...
    }

}
55
Romain Linsolas
  1. 私があなたを正しく理解したら、注釈 _@Before_ の意味を知りたいと思うでしょう。注釈は、eachテストが実行される前に実行されるメソッドをマークします。そこで、古いsetup()プロシージャを実装できます。

  2. _@Test_ 注釈は、次のメソッドをJUnitテストとしてマークします。テストランナーは、_@Test_アノテーションが付けられたすべてのメソッドを識別し、実行します。例:

    _import org.junit.*;
    
    public class IntroductionTests {
        @Test
        public void testSum() {
          Assert.assertEquals(8, 6 + 2);
        }
    }
    _
  3. _How can i use it with Netbeans?_ Netbeansには、JUnitテストのテストランナーが含まれています。実行ダイアログで選択できます。

22
guerda