minitest-utils 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.
- checksums.yaml +4 -4
- data/README.md +14 -0
- data/Rakefile +4 -4
- data/lib/minitest/utils/extension.rb +18 -0
- data/lib/minitest/utils/reporter.rb +10 -3
- data/lib/minitest/utils/version.rb +1 -1
- data/lib/minitest/utils.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 700f67bcfb5d5fe53a2a75b7bf3ec8843ccc82f9
|
4
|
+
data.tar.gz: 9d5ad7d010ddc713d2ee5e420e93ccd3a9afec0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: caf2e42d4875292a0bb788cefce0f9ea3d3cbe76925250401c1e84e7b236bf572158e6b1b5d03c87ad7e53e55ff53b16173be74823295bc562899312fe9cebea
|
7
|
+
data.tar.gz: 0b1ea576e5cabae344f583f8a623164a299f1b6024c6889f37bccad16705e68c62563ea08628fce6ed610a678d328f0b8d6e5bbf47096d0e7541f1ec8bbbb58f
|
data/README.md
CHANGED
@@ -25,6 +25,20 @@ Or install it yourself as:
|
|
25
25
|
|
26
26
|
$ gem install minitest-utils
|
27
27
|
|
28
|
+
## Defining tests
|
29
|
+
|
30
|
+
This gem adds the `Minitest::Test.test` method, so you can easy define your methods like the following:
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
class SampleTest < Minitest::Test
|
34
|
+
test 'useless test' do
|
35
|
+
assert true
|
36
|
+
end
|
37
|
+
end
|
38
|
+
```
|
39
|
+
|
40
|
+
This is equivalent to defining a method named `test_useless_test`. You can also skip the block, which will define a [flunk](https://github.com/seattlerb/minitest/blob/77120c5b2511c4665610cda06c8058c801b28e7f/lib/minitest/assertions.rb#L477-L480) call.
|
41
|
+
|
28
42
|
## Screenshots
|
29
43
|
|
30
44
|

|
data/Rakefile
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rake/testtask'
|
3
3
|
|
4
|
-
Rake::TestTask.new(:
|
5
|
-
t.libs << '
|
6
|
-
t.test_files = FileList['
|
4
|
+
Rake::TestTask.new(:test) do |t|
|
5
|
+
t.libs << 'test'
|
6
|
+
t.test_files = FileList['test/**/*_test.rb']
|
7
7
|
t.verbose = true
|
8
8
|
end
|
9
9
|
|
10
|
-
task :default => :
|
10
|
+
task :default => :test
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Minitest
|
2
|
+
class Test
|
3
|
+
def self.test(name, &block)
|
4
|
+
test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
|
5
|
+
defined = method_defined? test_name
|
6
|
+
|
7
|
+
raise "#{test_name} is already defined in #{self}" if defined
|
8
|
+
|
9
|
+
if block_given?
|
10
|
+
define_method(test_name, &block)
|
11
|
+
else
|
12
|
+
define_method(test_name) do
|
13
|
+
flunk "No implementation provided for #{name}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -79,7 +79,7 @@ module Minitest
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def display_replay_command(result)
|
82
|
-
location =
|
82
|
+
location = find_test_file(result)
|
83
83
|
command = %[rake TEST=#{location} TESTOPTS="--name=#{result.name}"]
|
84
84
|
str = "\n"
|
85
85
|
str << color(command, :red)
|
@@ -87,6 +87,12 @@ module Minitest
|
|
87
87
|
io.print str
|
88
88
|
end
|
89
89
|
|
90
|
+
def find_test_file(result)
|
91
|
+
filter_backtrace(result.failure.backtrace)
|
92
|
+
.find {|line| line.match(%r(^(test|spec)/.*?_(test|spec).rb)) }
|
93
|
+
.gsub(/:\d+.*?$/, '')
|
94
|
+
end
|
95
|
+
|
90
96
|
def backtrace(backtrace)
|
91
97
|
backtrace = filter_backtrace(backtrace).map {|line| location(line) }
|
92
98
|
return if backtrace.empty?
|
@@ -94,10 +100,11 @@ module Minitest
|
|
94
100
|
end
|
95
101
|
|
96
102
|
def location(location)
|
103
|
+
location = File.expand_path(location[/^([^:]+)/, 1])
|
104
|
+
|
97
105
|
return location unless location.start_with?(Dir.pwd)
|
98
106
|
|
99
|
-
location
|
100
|
-
"./#{location}"
|
107
|
+
location.gsub(%r[^#{Regexp.escape(Dir.pwd)}/], '')
|
101
108
|
end
|
102
109
|
|
103
110
|
def filter_backtrace(backtrace)
|
data/lib/minitest/utils.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Vieira
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -81,6 +81,7 @@ files:
|
|
81
81
|
- bin/rake
|
82
82
|
- bin/setup
|
83
83
|
- lib/minitest/utils.rb
|
84
|
+
- lib/minitest/utils/extension.rb
|
84
85
|
- lib/minitest/utils/rails.rb
|
85
86
|
- lib/minitest/utils/rails/capybara.rb
|
86
87
|
- lib/minitest/utils/rails/factory_girl.rb
|