Class JUnitSampler

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.samplers.AbstractSampler
org.apache.jmeter.protocol.java.sampler.JUnitSampler
All Implemented Interfaces:
Serializable, Cloneable, org.apache.jmeter.engine.util.ConfigMergabilityIndicator, org.apache.jmeter.gui.Searchable, org.apache.jmeter.samplers.Sampler, org.apache.jmeter.testelement.TestElement, org.apache.jmeter.testelement.ThreadListener

public class JUnitSampler extends org.apache.jmeter.samplers.AbstractSampler implements org.apache.jmeter.testelement.ThreadListener
This is a basic implementation that runs a single test method of a JUnit test case. The current implementation will use the string constructor first. If the test class does not declare a string constructor, the sampler will try empty constructor.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement

    org.apache.jmeter.testelement.TestElement.Companion
  • Field Summary

    Fields inherited from interface org.apache.jmeter.testelement.TestElement

    COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    If append error is not set, by default it is set to false, which means users have to explicitly set the sampler to append the assert errors.
    boolean
    If append exception is not set, by default it is set to false.
    Gets the Classname attribute of the JavaConfig object
     
    boolean
     
    boolean
    if the sample shouldn't call setup/teardown, the method returns true.
     
     
     
     
     
    boolean
    Check if JUnit4 (annotations) are to be used instead of the JUnit3 style (TestClass and specific method names)
     
     
     
    org.apache.jmeter.samplers.SampleResult
    sample(org.apache.jmeter.samplers.Entry entry)
    void
    setAppendError(boolean error)
    Set whether to append errors or not.
    void
    setAppendException(boolean exc)
    Set whether to append exceptions or not.
    void
    setClassname(String className)
    Sets the Classname attribute of the JavaConfig object
    void
    Set the string label used to create an instance of the test with the string constructor.
    void
    setCreateOneInstancePerSample(boolean createOneInstancePerSample)
     
    void
    setDoNotSetUpTearDown(boolean setup)
    set the setup/teardown option
    void
    provide a descriptive error for the test method.
    void
    Provide an unique error code for when the test does not pass the assert test.
    void
    set the failure message
    void
    Provide some unique code to denote a type of failure
    void
    set the filter string in comma separated format
    void
    setJunit4(boolean junit4)
    Set whether to use JUnit4 style or not.
    void
    setMethod(String methodName)
    Method should add the JUnit testXXX method to the list at the end, since the sequence matters.
    void
    setSuccess(String success)
    set the success message
    void
    Set the success code.
    void
     
    void
    Set up all variables that don't change between samples.

    Methods inherited from class org.apache.jmeter.samplers.AbstractSampler

    applies

    Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

    addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.jmeter.testelement.TestElement

    addTestElement, canRemove, clear, clearTestElementChildren, clone, get, get, get, get, get, get, get, get, get, getComment, getName, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, getPropertyOrNull, getProps, getSchema, getString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removed, removeProperty, removeProperty, set, set, set, set, set, set, set, set, set, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
  • Constructor Details

    • JUnitSampler

      public JUnitSampler()
  • Method Details

    • setClassname

      public void setClassname(String className)
      Sets the Classname attribute of the JavaConfig object
      Parameters:
      className - the new Classname value
    • getClassname

      public String getClassname()
      Gets the Classname attribute of the JavaConfig object
      Returns:
      the Classname value
    • setConstructorString

      public void setConstructorString(String constr)
      Set the string label used to create an instance of the test with the string constructor.
      Parameters:
      constr - the string passed to the constructor
    • getConstructorString

      public String getConstructorString()
      Returns:
      the string passed to the string constructor
    • getMethod

      public String getMethod()
      Returns:
      the name of the method to test
    • setMethod

      public void setMethod(String methodName)
      Method should add the JUnit testXXX method to the list at the end, since the sequence matters.
      Parameters:
      methodName - name of the method to test
    • getSuccess

      public String getSuccess()
      Returns:
      the success message
    • setSuccess

      public void setSuccess(String success)
      set the success message
      Parameters:
      success - message to be used for success
    • getSuccessCode

      public String getSuccessCode()
      Returns:
      the success code defined by the user
    • setSuccessCode

      public void setSuccessCode(String code)
      Set the success code. The success code should be unique.
      Parameters:
      code - unique success code
    • getFailure

      public String getFailure()
      Returns:
      the failure message
    • setFailure

      public void setFailure(String fail)
      set the failure message
      Parameters:
      fail - the failure message
    • getFailureCode

      public String getFailureCode()
      Returns:
      The failure code that is used by other components
    • setFailureCode

      public void setFailureCode(String code)
      Provide some unique code to denote a type of failure
      Parameters:
      code - unique code to denote the type of failure
    • getError

      public String getError()
      Returns:
      the descriptive error for the test
    • setError

      public void setError(String error)
      provide a descriptive error for the test method. For a description of the difference between failure and error, please refer to the junit faq
      Parameters:
      error - the description of the error
    • getErrorCode

      public String getErrorCode()
      Returns:
      the error code for the test method. It should be an unique error code.
    • setErrorCode

      public void setErrorCode(String code)
      Provide an unique error code for when the test does not pass the assert test.
      Parameters:
      code - unique error code
    • getFilterString

      public String getFilterString()
      Returns:
      the comma separated string for the filter
    • setFilterString

      public void setFilterString(String text)
      set the filter string in comma separated format
      Parameters:
      text - comma separated filter
    • getDoNotSetUpTearDown

      public boolean getDoNotSetUpTearDown()
      if the sample shouldn't call setup/teardown, the method returns true. It's meant for onetimesetup and onetimeteardown.
      Returns:
      flag whether setup/teardown methods should not be called
    • setDoNotSetUpTearDown

      public void setDoNotSetUpTearDown(boolean setup)
      set the setup/teardown option
      Parameters:
      setup - flag whether the setup/teardown methods should not be called
    • getAppendError

      public boolean getAppendError()
      If append error is not set, by default it is set to false, which means users have to explicitly set the sampler to append the assert errors. Because of how junit works, there should only be one error
      Returns:
      flag whether errors should be appended
    • setAppendError

      public void setAppendError(boolean error)
      Set whether to append errors or not.
      Parameters:
      error - the setting to apply
    • getAppendException

      public boolean getAppendException()
      If append exception is not set, by default it is set to false. Users have to explicitly set it to true to see the exceptions in the result tree.
      Returns:
      flag whether exceptions should be appended to the result tree
    • setAppendException

      public void setAppendException(boolean exc)
      Set whether to append exceptions or not.
      Parameters:
      exc - the setting to apply.
    • getJunit4

      public boolean getJunit4()
      Check if JUnit4 (annotations) are to be used instead of the JUnit3 style (TestClass and specific method names)
      Returns:
      true if JUnit4 (annotations) are to be used. Default is false.
    • setJunit4

      public void setJunit4(boolean junit4)
      Set whether to use JUnit4 style or not.
      Parameters:
      junit4 - true if JUnit4 style is to be used.
    • sample

      public org.apache.jmeter.samplers.SampleResult sample(org.apache.jmeter.samplers.Entry entry)
      Specified by:
      sample in interface org.apache.jmeter.samplers.Sampler
    • threadFinished

      public void threadFinished()
      Specified by:
      threadFinished in interface org.apache.jmeter.testelement.ThreadListener
    • threadStarted

      public void threadStarted()
      Set up all variables that don't change between samples.
      Specified by:
      threadStarted in interface org.apache.jmeter.testelement.ThreadListener
    • setCreateOneInstancePerSample

      public void setCreateOneInstancePerSample(boolean createOneInstancePerSample)
      Parameters:
      createOneInstancePerSample - flag whether a new instance for each call should be created
    • getCreateOneInstancePerSample

      public boolean getCreateOneInstancePerSample()
      Returns:
      boolean create New Instance For Each Call