Class: Mutant::Integration Private

Inherits:
Object
  • Object
show all
Includes:
AbstractType, Adamantium::Flat
Defined in:
lib/mutant/integration.rb,
lib/mutant/integration/null.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Abstract base class mutant test framework integrations

Direct Known Subclasses

Null

Defined Under Namespace

Classes: Null

Constant Summary collapse

LOAD_MESSAGE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

"Unable to load integration mutant-%<integration_name>s:\n%<exception>s\nYou may have to install the gem mutant-%<integration_name>s!\n"
CONST_MESSAGE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

"Unable to load integration mutant-%<integration_name>s:\n%<exception>s\nThis is a bug in the integration you have to report.\nThe integration is supposed to define %<constant_name>s!\n"
INTEGRATION_MISSING =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

"No test framework integration configured.\nSee https://github.com/mbj/mutant/blob/master/docs/configuration.md#integration\n"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.setup(env) ⇒ Either<String, Integration>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Setup integration



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/mutant/integration.rb', line 34

def self.setup(env)
  unless env.config.integration
    return Either::Left.new(INTEGRATION_MISSING)
  end

  attempt_require(env).bind { attempt_const_get(env) }.fmap do |klass|
    klass.new(
      expression_parser: env.config.expression_parser,
      timer:             env.world.timer
    ).setup
  end
end

Instance Method Details

#all_testsEnumerable<Test>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Available tests for integration



94
# File 'lib/mutant/integration.rb', line 94

abstract_method :all_tests

#callResult::Test

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Run a collection of tests



89
# File 'lib/mutant/integration.rb', line 89

abstract_method :call

#setupself

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Perform integration setup



80
81
82
# File 'lib/mutant/integration.rb', line 80

def setup
  self
end