Package org.testng.internal
Class TestMethodWorker
java.lang.Object
org.testng.internal.TestMethodWorker
- All Implemented Interfaces:
Comparable<IWorker<ITestNGMethod>>
,Runnable
,IWorker<ITestNGMethod>
FIXME: reduce contention when this class is used through parallel invocation due to
invocationCount and threadPoolSize by not invoking the @BeforeClass and @AfterClass which are
already invoked on the original method.
This class implements Runnable and will invoke the ITestMethod passed in its constructor on its run() method.
-
Constructor Summary
ConstructorsConstructorDescriptionTestMethodWorker
(ITestInvoker testInvoker, IConfigInvoker configInvoker, List<IMethodInstance> testMethods, Map<String, String> parameters, ConfigurationGroupMethods groupMethods, ClassMethodMap classMethodMap, ITestContext testContext, List<IClassListener> listeners) -
Method Summary
Modifier and TypeMethodDescriptionint
compareTo
(IWorker<ITestNGMethod> other) boolean
long
int
The priority of a worker is the priority of the first method it's going to run.getTasks()
long
Retrieves the maximum specified timeout of all ITestNGMethods to be run.protected int
indexOf
(ITestNGMethod tm, ITestNGMethod[] allTestMethods) protected void
invokeAfterClassMethods
(ITestClass testClass, IMethodInstance mi) Invoke the @AfterClass methods if not done alreadyprotected void
invokeBeforeClassMethods
(ITestClass testClass, IMethodInstance mi) Invoke the @BeforeClass methods if not done alreadyprotected void
invokeTestMethods
(ITestNGMethod tm, Object instance) void
run()
Run all the ITestNGMethods passed in through the constructor.void
setThreadIdToRunOn
(long threadIdToRunOn) toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.testng.thread.IWorker
getThreadIdToRunOn
-
Constructor Details
-
TestMethodWorker
public TestMethodWorker(ITestInvoker testInvoker, IConfigInvoker configInvoker, List<IMethodInstance> testMethods, Map<String, String> parameters, ConfigurationGroupMethods groupMethods, ClassMethodMap classMethodMap, ITestContext testContext, List<IClassListener> listeners)
-
-
Method Details
-
getTimeOut
public long getTimeOut()Retrieves the maximum specified timeout of all ITestNGMethods to be run.- Specified by:
getTimeOut
in interfaceIWorker<ITestNGMethod>
- Returns:
- the max timeout or 0 if no timeout was specified
-
toString
-
run
public void run()Run all the ITestNGMethods passed in through the constructor. -
invokeTestMethods
-
invokeBeforeClassMethods
Invoke the @BeforeClass methods if not done already -
invokeAfterClassMethods
Invoke the @AfterClass methods if not done already -
indexOf
-
getTestResults
-
getTasks
- Specified by:
getTasks
in interfaceIWorker<ITestNGMethod>
- Returns:
- list of tasks this worker is working on.
-
compareTo
- Specified by:
compareTo
in interfaceComparable<IWorker<ITestNGMethod>>
-
getPriority
public int getPriority()The priority of a worker is the priority of the first method it's going to run.- Specified by:
getPriority
in interfaceIWorker<ITestNGMethod>
- Returns:
- the priority of this task.
-
getCurrentThreadId
public long getCurrentThreadId()- Specified by:
getCurrentThreadId
in interfaceIWorker<ITestNGMethod>
-
setThreadIdToRunOn
public void setThreadIdToRunOn(long threadIdToRunOn) - Specified by:
setThreadIdToRunOn
in interfaceIWorker<ITestNGMethod>
-
completed
public boolean completed()- Specified by:
completed
in interfaceIWorker<ITestNGMethod>
-