什么是JUnit @Before和@Test

时间:2009-02-10 07:34:56

标签: java junit annotations

在java中使用Junit @Before@Test注释有什么用?我如何在netbeans中使用它们?

2 个答案:

答案 0 :(得分:54)

你能更准确吗? 您是否需要了解@Before@Test注释的内容?

@Test注释是一个注释(自JUnit 4开始),表示附加的方法是单元测试。这允许您使用任何方法名称进行测试。例如:

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

@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);
        ...
    }

}

答案 1 :(得分:22)

  1. 如果我理解正确,您想知道注释@Before的含义。 注释标记了在执行每个测试之前执行的方法。在那里,您可以实施旧的setup()程序。

  2. @Test注释将以下方法标记为JUnit测试。 testrunner将识别用@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测试的测试人员。您可以在执行对话框中选择它。