micro_test 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/bin/mt +12 -9
  2. data/lib/micro_test/runner.rb +2 -1
  3. metadata +1 -1
data/bin/mt CHANGED
@@ -12,6 +12,7 @@ opts = Slop.parse(:strict => true, :help => true) do
12
12
  banner "mt [options]"
13
13
  on :p, :path, "The path to the test directory or file.", :argument => true
14
14
  on :f, :formatter, "The name of the formatter to use. [#{green formatters.join(", ")}]", :argument => true
15
+ on "fail-fast", "Stops the running of tests after the first test failure."
15
16
  on :pry, "Starts a pry session whenever tests fail."
16
17
  on :demo, "Runs the MicroTest test suite."
17
18
  end
@@ -51,17 +52,19 @@ rescue Exception => ex
51
52
  exit
52
53
  end
53
54
 
54
- MicroTest::PRY = !!opts[:pry]
55
- if MicroTest::PRY
55
+ MicroTest::Test.add_observer(Class.new do
56
+ def self.update(event, arg)
57
+ if event == :assert && !arg
58
+ binding.pry(:quiet => true) if MicroTest::Runner.options[:pry]
59
+ exit if MicroTest::Runner.options[:"fail-fast"]
60
+ end
61
+ end
62
+ end)
63
+
64
+ if opts[:pry]
56
65
  require "pry"
57
66
  require "pry-stack_explorer"
58
67
 
59
- MicroTest::Test.add_observer(Class.new do
60
- def self.update(event, arg)
61
- binding.pry(:quiet => true) if event == :assert && !arg
62
- end
63
- end)
64
-
65
68
  Pry.config.hooks.add_hook :before_session, :print_instructions do |_, _, _pry_|
66
69
  _pry_.commands.create_command "line", "View the assert line that failed." do
67
70
  def process
@@ -86,4 +89,4 @@ if MicroTest::PRY
86
89
  end
87
90
  end
88
91
 
89
- MicroTest::Runner.run formatter
92
+ MicroTest::Runner.run formatter, opts.to_hash
@@ -1,7 +1,7 @@
1
1
  module MicroTest
2
2
  module Runner
3
3
  class << self
4
- attr_reader :current_test
4
+ attr_reader :options, :current_test
5
5
 
6
6
  def update(event, arg)
7
7
  send(event, arg) if respond_to?(event)
@@ -39,6 +39,7 @@ module MicroTest
39
39
  end
40
40
 
41
41
  def run(formatter, opts={})
42
+ @options = opts
42
43
  @current_test = nil
43
44
  formatter.header
44
45
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: micro_test
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: