为什么我的@BeforeClass阻止junit运行?

时间:2014-12-16 14:33:14

标签: java testing junit e2e-testing

我尝试使用main()方法运行junit:

    public static void main(String... args) throws ClassNotFoundException, IOException {
...
logger.debug("className " + className + "methodName " + methodName);

        Request request = Request.method(Class.forName(className), methodName);
        return new JUnitCore().run(request);
}

这是我的TestClass。

当我没有@BeforeClass方法

时,它被称为OK

但是当我添加@BeforeClass时,此行没有进入setup()方法(我尝试调试)

//    @BeforeClass
//    public void classSetup()
//    {
//        logger = new Logger();
//        stringUtils = new StringUtils(logger);
//    }

    @Before
    public void setup() {

        logger = new Logger();
        stringUtils = new StringUtils(logger);

    }


    @Test
    public void test1() throws Exception {..}

}

1 个答案:

答案 0 :(得分:0)

@BeforeClass注释的方法应该是静态的。

在你的情况下,classSetup方法应该是静态的。

@BeforeClass
public static void classSetup(){
    logger = new Logger();
    stringUtils = new StringUtils(logger);
}