package org.test4j.testng; import java.lang.reflect.Method; import java.util.List; import org.test4j.module.core.CoreModule; import org.test4j.module.core.TestContext; import org.test4j.module.core.utility.ListenerExecutor; import org.test4j.testng.utility.MockTestNGMethodFinder; import org.test4j.tools.commons.ArrayHelper; import org.test4j.tools.commons.ExceptionWrapper; import org.test4j.tools.commons.ListHelper; import org.testng.ITestContext; import org.testng.annotations.AfterClass; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; /** * @author darui.wudr */ @SuppressWarnings("rawtypes") public class Test4JCore extends Test4JHookable { static { CoreModule.initSingletonInstance(); new MockTestNGMethodFinder(); } @BeforeClass(alwaysRun = true) public void aBeforeClass(ITestContext context) { TestContext.setContext(this, null); this.dealJMockitTestDecorator(context); this.error_setup_class = ListenerExecutor.executeBeforeClassEvents(this.getClass()); } @BeforeMethod(alwaysRun = true) public void aBeforeMethod(Method testedMethod) { this.error_setup_method = ListenerExecutor.executeBeforeMethodEvents(this, testedMethod); } @AfterMethod(alwaysRun = true) public void zAfterMethod(Method testedMethod) { Throwable throwable = ListenerExecutor.executeAfterMethodEvents(this, testedMethod); ExceptionWrapper.throwRuntimeException(throwable); } @AfterClass(alwaysRun = true) public void zAfterClass() { Throwable throwable = ListenerExecutor.executeAfterClassEvents(this); ExceptionWrapper.throwRuntimeException(throwable); } /** * 构造对象数组 * * @param objs * @return */ public static Object[] toArray(Object... objs) { Object[] arr = ArrayHelper.toArray(objs); return arr; } /** * 构造list列表 * * @param objs * @return */ public static List toList(Object... objs) { List list = ListHelper.toList(objs); return list; } }