org.testng.junit.JUnitTestClass Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of testng Show documentation
Show all versions of testng Show documentation
A testing framework for the JVM
package org.testng.junit;
import java.util.List;
import org.testng.ITestClass;
import org.testng.ITestNGMethod;
import org.testng.collections.Lists;
import org.testng.xml.XmlClass;
import org.testng.xml.XmlTest;
// NO JUnit specific code here to avoid runtime errors
public abstract class JUnitTestClass implements ITestClass {
private List m_testMethods = Lists.newArrayList();
private List m_beforeClass = Lists.newArrayList();
private List m_afterClass = Lists.newArrayList();
private List m_beforeTest = Lists.newArrayList();
private List m_afterTest = Lists.newArrayList();
private final Class m_realClass;
private final Object[] m_instances;
private final long[] m_instanceHashes;
public JUnitTestClass(Class test) {
m_realClass = test;
m_instances = new Object[] {test};
m_instanceHashes = new long[] {test.hashCode()};
}
List getTestMethodList() {
return m_testMethods;
}
/** @see org.testng.IClass#addInstance(java.lang.Object) */
@Override
public void addInstance(Object instance) {
throw new IllegalStateException("addInstance is not supported for JUnit");
}
/** @see org.testng.IClass#getName() */
@Override
public String getName() {
return m_realClass.getName();
}
/** @see org.testng.IClass#getRealClass() */
@Override
public Class getRealClass() {
return m_realClass;
}
@Override
public String getTestName() {
return null;
}
@Override
public XmlTest getXmlTest() {
return null;
}
@Override
public XmlClass getXmlClass() {
return null;
}
/** @see org.testng.ITestClass#getInstanceHashCodes() */
@Override
public long[] getInstanceHashCodes() {
return m_instanceHashes;
}
/** @see org.testng.ITestClass#getInstances(boolean) */
@Override
public Object[] getInstances(boolean reuse) {
return m_instances;
}
/** @see org.testng.ITestClass#getTestMethods() */
@Override
public ITestNGMethod[] getTestMethods() {
return m_testMethods.toArray(new ITestNGMethod[m_testMethods.size()]);
}
/** @see org.testng.ITestClass#getBeforeTestMethods() */
@Override
public ITestNGMethod[] getBeforeTestMethods() {
return m_beforeTest.toArray(new ITestNGMethod[m_beforeTest.size()]);
}
/** @see org.testng.ITestClass#getAfterTestMethods() */
@Override
public ITestNGMethod[] getAfterTestMethods() {
return m_afterTest.toArray(new ITestNGMethod[m_afterTest.size()]);
}
/** @see org.testng.ITestClass#getBeforeClassMethods() */
@Override
public ITestNGMethod[] getBeforeClassMethods() {
return m_beforeClass.toArray(new ITestNGMethod[m_beforeClass.size()]);
}
/** @see org.testng.ITestClass#getAfterClassMethods() */
@Override
public ITestNGMethod[] getAfterClassMethods() {
return m_afterClass.toArray(new ITestNGMethod[m_afterClass.size()]);
}
// features not supported by JUnit
private static final ITestNGMethod[] EMPTY_METHODARRAY = new ITestNGMethod[0];
/** @see org.testng.ITestClass#getBeforeSuiteMethods() */
@Override
public ITestNGMethod[] getBeforeSuiteMethods() {
return EMPTY_METHODARRAY;
}
/** @see org.testng.ITestClass#getAfterSuiteMethods() */
@Override
public ITestNGMethod[] getAfterSuiteMethods() {
return EMPTY_METHODARRAY;
}
/** @see org.testng.ITestClass#getBeforeGroupsMethods() */
@Override
public ITestNGMethod[] getBeforeGroupsMethods() {
return EMPTY_METHODARRAY;
}
/** @see org.testng.ITestClass#getAfterGroupsMethods() */
@Override
public ITestNGMethod[] getAfterGroupsMethods() {
return EMPTY_METHODARRAY;
}
// already deprecated stuff, not usable in junit
/** @see org.testng.ITestClass#getBeforeTestConfigurationMethods() */
@Override
public ITestNGMethod[] getBeforeTestConfigurationMethods() {
return EMPTY_METHODARRAY;
}
/** @see org.testng.ITestClass#getAfterTestConfigurationMethods() */
@Override
public ITestNGMethod[] getAfterTestConfigurationMethods() {
return EMPTY_METHODARRAY;
}
}