Interface DDTestSession

All Known Implementing Classes:
NoOpDDTestSession

public interface DDTestSession
This interface represents a test session. Test session usually corresponds to execution of a single test command issued by a user or by a CI script
  • Method Details

    • setTag

      void setTag(String key, Object value)
      Adds an arbitrary tag to the session
      Parameters:
      key - The name of the tag
      value - The value of the tag
    • setErrorInfo

      void setErrorInfo(Throwable error)
      Marks the session as failed.

      This method should be used to signal a failure that is not related to a specific module or a test suite, but rather to the tests execution as a whole (e.g. a failure in a setup/teardown logic that is executed once for the entire project). If an individual module in the project fails, there is no need to explicitly signal it to the session object: the status of the session will reflect individual module failures automatically.

      This does not imply the end of tests execution, so end(Long) method has to be invoked at some point after this one.

      Parameters:
      error - Optional exception that caused the execution to fail
    • setSkipReason

      void setSkipReason(String skipReason)
      Marks the entire execution as skipped.

      This does not imply the end of tests execution, so end(Long) method has to be invoked at some point after this one.

      Parameters:
      skipReason - Optional reason for skipping execution
    • end

      void end(@Nullable Long endTime)
      Marks the end of tests execution.

      Unless either setErrorInfo(Throwable) or setSkipReason(String) were invoked prior to calling this method, the status of the execution will be calculated based on the statuses of individual modules that were run in scope of the session.

      The method must be called once for each session instance.

      The call does not have to be made in the same thread where the session was started.

      Parameters:
      endTime - Optional finish time in microseconds. If null is supplied, current time will be assumed
    • testModuleStart

      DDTestModule testModuleStart(String moduleName, @Nullable Long startTime)
      Marks the start of a new module.
      Parameters:
      moduleName - The name of the module
      startTime - Optional start time in microseconds. If null is supplied, current time will be assumed
      Returns:
      Handle to the module instance