micro_test 0.1.1 → 0.1.2
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.
- data/Gemfile +4 -0
- data/Gemfile.lock +12 -0
- data/README.md +2 -2
- data/bin/mt +17 -4
- data/lib/micro_test/color.rb +21 -0
- data/lib/{formatters → micro_test/formatters}/default.rb +3 -14
- data/lib/micro_test/runner.rb +2 -8
- data/lib/micro_test/test.rb +1 -0
- metadata +20 -2
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,17 +1,29 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
+
binding_of_caller (0.6.8)
|
4
5
|
coderay (1.0.7)
|
5
6
|
method_source (0.8)
|
6
7
|
pry (0.9.10)
|
7
8
|
coderay (~> 1.0.5)
|
8
9
|
method_source (~> 0.8)
|
9
10
|
slop (~> 3.3.1)
|
11
|
+
pry-exception_explorer (0.1.9)
|
12
|
+
pry-stack_explorer (>= 0.3.9)
|
13
|
+
pry-remote (0.1.6)
|
14
|
+
pry (~> 0.9)
|
15
|
+
slop (~> 3.0)
|
16
|
+
pry-stack_explorer (0.4.6)
|
17
|
+
binding_of_caller (~> 0.6.2)
|
10
18
|
slop (3.3.3)
|
11
19
|
|
12
20
|
PLATFORMS
|
13
21
|
ruby
|
14
22
|
|
15
23
|
DEPENDENCIES
|
24
|
+
coderay
|
16
25
|
pry
|
26
|
+
pry-exception_explorer
|
27
|
+
pry-remote
|
28
|
+
pry-stack_explorer
|
17
29
|
slop
|
data/README.md
CHANGED
data/bin/mt
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require "slop"
|
3
|
-
require "pry"
|
4
3
|
require File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "micro_test"))
|
5
4
|
|
6
5
|
opts = Slop.parse(:strict => true, :help => true) do
|
@@ -26,14 +25,14 @@ else
|
|
26
25
|
end
|
27
26
|
|
28
27
|
formatter_name = opts[:formatter] || "default"
|
29
|
-
formatter_path = File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "formatters", formatter_name + ".rb"))
|
28
|
+
formatter_path = File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "micro_test", "formatters", formatter_name + ".rb"))
|
30
29
|
unless File.exist?(formatter_path)
|
31
30
|
puts "#{formatter_path} not found."
|
32
31
|
puts "Please check the formatter name and try again."
|
33
32
|
exit
|
34
33
|
end
|
35
34
|
begin
|
36
|
-
require
|
35
|
+
require formatter_path
|
37
36
|
formatter = MicroTest.const_get("Formatter").new
|
38
37
|
rescue Exception => ex
|
39
38
|
puts "Failed to load the formatter."
|
@@ -41,4 +40,18 @@ rescue Exception => ex
|
|
41
40
|
exit
|
42
41
|
end
|
43
42
|
|
44
|
-
MicroTest::
|
43
|
+
MicroTest::PRY = !!opts[:pry]
|
44
|
+
if MicroTest::PRY
|
45
|
+
require "pry"
|
46
|
+
require "pry-stack_explorer"
|
47
|
+
# require "pry-exception_explorer"
|
48
|
+
Pry.config.hooks.add_hook :before_session, :print_instructions do
|
49
|
+
puts "#{MicroTest::Color.red "Assert Failed!"} #{MicroTest::Color.yellow "Type 'up' to see the line that failed."}"
|
50
|
+
end
|
51
|
+
# EE.enabled = true
|
52
|
+
# EE.intercept do |frame , ex|
|
53
|
+
# !ex.is_a?(LoadError)
|
54
|
+
# end
|
55
|
+
end
|
56
|
+
|
57
|
+
MicroTest::Runner.run formatter
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module MicroTest
|
2
|
+
module Color
|
3
|
+
extend self
|
4
|
+
|
5
|
+
colors = {
|
6
|
+
:red => 31,
|
7
|
+
:green => 32,
|
8
|
+
:yellow => 33,
|
9
|
+
:blue => 34,
|
10
|
+
:magenta => 35,
|
11
|
+
:cyan => 36,
|
12
|
+
:white => 37
|
13
|
+
}
|
14
|
+
|
15
|
+
colors.each do |name, code|
|
16
|
+
define_method name do |text|
|
17
|
+
"\e[#{code}m#{text}\e[0m"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -1,5 +1,8 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "color")
|
2
|
+
|
1
3
|
module MicroTest
|
2
4
|
class Formatter
|
5
|
+
include MicroTest::Color
|
3
6
|
|
4
7
|
def initialize
|
5
8
|
@total = 0
|
@@ -42,19 +45,5 @@ module MicroTest
|
|
42
45
|
puts "---"
|
43
46
|
end
|
44
47
|
|
45
|
-
private
|
46
|
-
|
47
|
-
def red(text)
|
48
|
-
"\e[31m#{text}\e[0m"
|
49
|
-
end
|
50
|
-
|
51
|
-
def yellow(text)
|
52
|
-
"\e[33m#{text}\e[0m"
|
53
|
-
end
|
54
|
-
|
55
|
-
def green(text)
|
56
|
-
"\e[32m#{text}\e[0m"
|
57
|
-
end
|
58
|
-
|
59
48
|
end
|
60
49
|
end
|
data/lib/micro_test/runner.rb
CHANGED
@@ -48,14 +48,8 @@ module MicroTest
|
|
48
48
|
@failed = false
|
49
49
|
@asserts = []
|
50
50
|
test_class.invoke :before, :each
|
51
|
-
|
52
|
-
|
53
|
-
rescue Exception => e
|
54
|
-
@failed = true
|
55
|
-
error = e
|
56
|
-
end
|
57
|
-
test_class.tests[desc].pry if @failed && opts[:pry]
|
58
|
-
formatter.test :name => desc, :passed => !@failed, :asserts => @asserts, :error => error
|
51
|
+
test_class.tests[desc].call
|
52
|
+
formatter.test :name => desc, :passed => !@failed, :asserts => @asserts
|
59
53
|
test_class.invoke :after, :each
|
60
54
|
end
|
61
55
|
|
data/lib/micro_test/test.rb
CHANGED
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.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: pry-stack_explorer
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
46
62
|
description: ! " Testing frameworks often lose their focus and become an end unto
|
47
63
|
themselves.\n MicroTest avoids this pitfall with a relentless focus on simplicity.\n"
|
48
64
|
email:
|
@@ -52,7 +68,8 @@ executables:
|
|
52
68
|
extensions: []
|
53
69
|
extra_rdoc_files: []
|
54
70
|
files:
|
55
|
-
- lib/
|
71
|
+
- lib/micro_test/color.rb
|
72
|
+
- lib/micro_test/formatters/default.rb
|
56
73
|
- lib/micro_test/runner.rb
|
57
74
|
- lib/micro_test/test.rb
|
58
75
|
- lib/micro_test.rb
|
@@ -86,3 +103,4 @@ signing_key:
|
|
86
103
|
specification_version: 3
|
87
104
|
summary: Ruby's no-nonsense testing framework.
|
88
105
|
test_files: []
|
106
|
+
has_rdoc:
|