2012-08-30 45 views
5

Theo this tài liệu @BeforeClass phương pháp của lớp cha sẽ được chạy trước những lớp hiện tại. Nhưng nó không xảy ra trong trường hợp của tôi.@BeforeClass phương pháp của lớp cha mẹ không được gọi

Tôi đang sử dụng junit 4.8.1.

Bạn có thể cho tôi biết những gì tôi đang làm không chính xác không?

lớp cha của tôi trông như thế này:

public abstract class AbstractPromoterUnitTest extends TestCase { 
    @BeforeClass 
    public static void setUpOnce() { 
     // Do something here. 
    } 
} 

Đó là đứa trẻ:

@RunWith(JUnit4.class) 
public abstract class NormalPromoterUnitTest extends AbstractPromoterUnitTest{ 
    @BeforeClass 
    public static void setUpOnce() { 
     // Do something here 2. 
    } 
} 

NormalPromoterUnitTest.setUpOnce() được gọi. AbstractPromoterUnitTest.setUpOnce() thì không.

Trả lời

8

Bạn đang che giấu phương thức tĩnh của lớp trừu tượng; tên một trong số họ một cái gì đó khác nhau.

+0

ah có, đó là phương pháp tĩnh! cảm ơn! – expert

Các vấn đề liên quan