minitest-spec-rails 4.7.2 → 4.7.3
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/CHANGELOG.md +5 -0
- data/Gemfile +1 -1
- data/README.md +27 -0
- data/lib/minitest-spec-rails/dsl.rb +5 -0
- data/lib/minitest-spec-rails/version.rb +1 -1
- data/minitest-spec-rails.gemspec +0 -2
- data/test/cases/action_dispatch_test.rb +1 -1
- data/test/cases/active_support_test.rb +2 -2
- data/test/dummy_tests/integration_test.rb +10 -0
- data/test/dummy_tests/user_test.rb +8 -0
- data/test/support/minitest.rb +0 -6
- metadata +103 -132
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -53,6 +53,8 @@ To start off both Mike Moore (@blowmage) and I have worked together and we both
|
|
53
53
|
* No special test helper and/or generators.
|
54
54
|
* Easy migration path for existing Rails applications.
|
55
55
|
* How we go about freedom patching Rails.
|
56
|
+
* Fully support Ruby 1.8.7 with all legacy Test::Unit behavior.
|
57
|
+
* Compatability with ActiveSupport::TestCase's setup and teardowns.
|
56
58
|
|
57
59
|
So the goal of this project is to make Rails 3 or 4 applications just work as if rails-core had decided to support MiniTest::Spec all along. We believe that eventually that day will come and when it does, all your tests will still work! So bundle up and get started!
|
58
60
|
|
@@ -146,6 +148,31 @@ class UserTest < ActiveSupport::TestCase
|
|
146
148
|
end
|
147
149
|
```
|
148
150
|
|
151
|
+
### Setup & Teardown Compatability
|
152
|
+
|
153
|
+
Rails ActiveSupport::TestCase allows multiple setup and teardown methods per class. It also allows you to specify these either with a symbol or a block. Unlike normal ActiveSupport setup and teardown callbacks, our blocks are evaluated in the scope of the instance, just like before and after. So this just works!
|
154
|
+
|
155
|
+
```ruby
|
156
|
+
class ActiveSupportCallbackTest < ActiveSupport::TestCase
|
157
|
+
|
158
|
+
setup :foo
|
159
|
+
setup :bar
|
160
|
+
before { @bat = 'biz' }
|
161
|
+
|
162
|
+
it 'works' do
|
163
|
+
@foo.must_equal 'foo'
|
164
|
+
@bar.must_equal 'bar'
|
165
|
+
@bat.must_equal 'biz'
|
166
|
+
end
|
167
|
+
|
168
|
+
private
|
169
|
+
|
170
|
+
def foo ; @foo = 'foo' ; end
|
171
|
+
def bar ; @bar = 'bar' ; end
|
172
|
+
|
173
|
+
end
|
174
|
+
```
|
175
|
+
|
149
176
|
### mini_shoulda
|
150
177
|
|
151
178
|
If you are migrating away from Shoulda, then minitest-spec-rails' mini_shoulda feature will help. To enable it, set the following configuration in your test environment file.
|
@@ -5,6 +5,7 @@ module MiniTestSpecRails
|
|
5
5
|
|
6
6
|
def self.included(klass)
|
7
7
|
klass.extend ClassMethods
|
8
|
+
remove_method :test if method_defined?(:test)
|
8
9
|
end
|
9
10
|
|
10
11
|
module ClassMethods
|
@@ -17,6 +18,10 @@ module MiniTestSpecRails
|
|
17
18
|
teardown { self.instance_eval(&block) }
|
18
19
|
end
|
19
20
|
|
21
|
+
def test(name, &block)
|
22
|
+
it { self.instance_eval(&block) }
|
23
|
+
end
|
24
|
+
|
20
25
|
def rails_test_cases
|
21
26
|
RAILS_TEST_CASES
|
22
27
|
end
|
data/minitest-spec-rails.gemspec
CHANGED
@@ -19,8 +19,6 @@ Gem::Specification.new do |gem|
|
|
19
19
|
gem.add_runtime_dependency 'rails', '>= 3.0'
|
20
20
|
gem.add_development_dependency 'appraisal'
|
21
21
|
gem.add_development_dependency 'guard-minitest'
|
22
|
-
gem.add_development_dependency 'minitest-emoji'
|
23
|
-
gem.add_development_dependency 'minitest-focus'
|
24
22
|
gem.add_development_dependency 'rake'
|
25
23
|
gem.add_development_dependency 'sqlite3'
|
26
24
|
end
|
@@ -4,7 +4,7 @@ class ModelsController < ApplicationController; end
|
|
4
4
|
|
5
5
|
class ActionControllerTest < MiniTestSpecRails::TestCase
|
6
6
|
|
7
|
-
it 'resolves
|
7
|
+
it 'resolves spec type for matching acceptance strings' do
|
8
8
|
assert_dispatch MiniTest::Spec.spec_type("WidgetAcceptanceTest")
|
9
9
|
assert_dispatch MiniTest::Spec.spec_type("Widget Acceptance Test")
|
10
10
|
assert_dispatch MiniTest::Spec.spec_type("widgetacceptancetest")
|
@@ -4,12 +4,12 @@ class SomeRandomModel < ActiveRecord::Base; end
|
|
4
4
|
|
5
5
|
class ActiveSupportTest < MiniTestSpecRails::TestCase
|
6
6
|
|
7
|
-
it 'resolves
|
7
|
+
it 'resolves spec type for active record constants' do
|
8
8
|
assert_support MiniTest::Spec.spec_type(SomeRandomModel)
|
9
9
|
assert_support MiniTest::Spec.spec_type(User)
|
10
10
|
end
|
11
11
|
|
12
|
-
it 'wont resolve
|
12
|
+
it 'wont resolve spec type for random strings' do
|
13
13
|
assert_spec MiniTest::Spec.spec_type("Unmatched String")
|
14
14
|
end
|
15
15
|
|
@@ -11,6 +11,10 @@ module IntegrationTests
|
|
11
11
|
status.must_equal 200
|
12
12
|
end
|
13
13
|
|
14
|
+
it 'works with assert_routing' do
|
15
|
+
assert_routing '/', :controller => 'application', :action => 'index'
|
16
|
+
end
|
17
|
+
|
14
18
|
it 'can find the app' do
|
15
19
|
app.must_be_instance_of Dummy::Application
|
16
20
|
end
|
@@ -37,3 +41,9 @@ end
|
|
37
41
|
class IntegrationTest < ActionDispatch::IntegrationTest
|
38
42
|
include IntegrationTests
|
39
43
|
end
|
44
|
+
|
45
|
+
class AppTest < ActionDispatch::IntegrationTest
|
46
|
+
def test_homepage
|
47
|
+
assert_routing '/', :controller => 'application', :action => 'index'
|
48
|
+
end
|
49
|
+
end
|
@@ -8,6 +8,10 @@ module UserTests
|
|
8
8
|
user_ken.must_be_instance_of User
|
9
9
|
end
|
10
10
|
|
11
|
+
test 'works with test' do
|
12
|
+
user_ken.must_be_instance_of User
|
13
|
+
end
|
14
|
+
|
11
15
|
it 'allows custom assertions' do
|
12
16
|
assert_blank '' if MiniTestSpecRails::Util.rails3?
|
13
17
|
end
|
@@ -22,6 +26,10 @@ module UserTests
|
|
22
26
|
|
23
27
|
end
|
24
28
|
|
29
|
+
test 'works with test' do
|
30
|
+
user_ken.must_be_instance_of User
|
31
|
+
end
|
32
|
+
|
25
33
|
end
|
26
34
|
|
27
35
|
end
|
data/test/support/minitest.rb
CHANGED
@@ -1,7 +1 @@
|
|
1
|
-
require 'minitest/emoji'
|
2
1
|
|
3
|
-
if ENV['CI'].blank? && RUBY_VERSION >= '1.9'
|
4
|
-
MiniTest::Emoji::DEFAULT.merge! '.' => "\u{1f49A} ", 'F' => "\u{1f494} ", 'E' => "\u{1f480} ", 'S' => "\u{1f49B} "
|
5
|
-
else
|
6
|
-
MiniTest::Emoji::DEFAULT.merge! '.' => ".", 'F' => "F", 'E' => "E", 'S' => "S"
|
7
|
-
end
|
metadata
CHANGED
@@ -1,146 +1,120 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-spec-rails
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
hash: 39
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 4
|
8
|
-
- 7
|
9
|
-
- 2
|
10
|
-
version: 4.7.2
|
5
|
+
version: 4.7.3
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Ken Collins
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
prerelease: false
|
22
|
-
type: :runtime
|
12
|
+
date: 2013-05-26 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
23
15
|
name: minitest
|
24
|
-
|
16
|
+
type: :runtime
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '4.7'
|
25
22
|
none: false
|
26
|
-
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
27
25
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
31
|
-
- 4
|
32
|
-
- 7
|
33
|
-
version: "4.7"
|
34
|
-
requirement: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '4.7'
|
28
|
+
none: false
|
36
29
|
prerelease: false
|
37
|
-
|
30
|
+
- !ruby/object:Gem::Dependency
|
38
31
|
name: rails
|
39
|
-
|
32
|
+
type: :runtime
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.0'
|
40
38
|
none: false
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
- 3
|
47
|
-
- 0
|
48
|
-
version: "3.0"
|
49
|
-
requirement: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
prerelease: false
|
52
|
-
type: :development
|
53
|
-
name: appraisal
|
54
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3.0'
|
55
44
|
none: false
|
56
|
-
requirements:
|
57
|
-
- - ">="
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
hash: 3
|
60
|
-
segments:
|
61
|
-
- 0
|
62
|
-
version: "0"
|
63
|
-
requirement: *id003
|
64
|
-
- !ruby/object:Gem::Dependency
|
65
45
|
prerelease: false
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: appraisal
|
66
48
|
type: :development
|
67
|
-
|
68
|
-
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
69
54
|
none: false
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
- 0
|
76
|
-
version: "0"
|
77
|
-
requirement: *id004
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
prerelease: false
|
80
|
-
type: :development
|
81
|
-
name: minitest-emoji
|
82
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
55
|
+
version_requirements: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ! '>='
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
83
60
|
none: false
|
84
|
-
requirements:
|
85
|
-
- - ">="
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
hash: 3
|
88
|
-
segments:
|
89
|
-
- 0
|
90
|
-
version: "0"
|
91
|
-
requirement: *id005
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
61
|
prerelease: false
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: guard-minitest
|
94
64
|
type: :development
|
95
|
-
|
96
|
-
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
none: false
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
97
76
|
none: false
|
98
|
-
requirements:
|
99
|
-
- - ">="
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
hash: 3
|
102
|
-
segments:
|
103
|
-
- 0
|
104
|
-
version: "0"
|
105
|
-
requirement: *id006
|
106
|
-
- !ruby/object:Gem::Dependency
|
107
77
|
prerelease: false
|
108
|
-
|
78
|
+
- !ruby/object:Gem::Dependency
|
109
79
|
name: rake
|
110
|
-
|
80
|
+
type: :development
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
none: false
|
87
|
+
version_requirements: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ! '>='
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
111
92
|
none: false
|
112
|
-
requirements:
|
113
|
-
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
hash: 3
|
116
|
-
segments:
|
117
|
-
- 0
|
118
|
-
version: "0"
|
119
|
-
requirement: *id007
|
120
|
-
- !ruby/object:Gem::Dependency
|
121
93
|
prerelease: false
|
122
|
-
|
94
|
+
- !ruby/object:Gem::Dependency
|
123
95
|
name: sqlite3
|
124
|
-
|
96
|
+
type: :development
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
none: false
|
103
|
+
version_requirements: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - ! '>='
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
125
108
|
none: false
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
segments:
|
131
|
-
- 0
|
132
|
-
version: "0"
|
133
|
-
requirement: *id008
|
134
|
-
description: The minitest-spec-rails gem makes it easy to use the MiniTest::Spec DSL within your existing Rails 3 or 4 test suite.
|
135
|
-
email:
|
109
|
+
prerelease: false
|
110
|
+
description: The minitest-spec-rails gem makes it easy to use the MiniTest::Spec DSL
|
111
|
+
within your existing Rails 3 or 4 test suite.
|
112
|
+
email:
|
136
113
|
- ken@metaskills.net
|
137
114
|
executables: []
|
138
|
-
|
139
115
|
extensions: []
|
140
|
-
|
141
116
|
extra_rdoc_files: []
|
142
|
-
|
143
|
-
files:
|
117
|
+
files:
|
144
118
|
- .gitignore
|
145
119
|
- .travis.yml
|
146
120
|
- Appraisals
|
@@ -196,38 +170,35 @@ files:
|
|
196
170
|
- test/test_helper_dummy.rb
|
197
171
|
homepage: http://github.com/metaskills/minitest-spec-rails
|
198
172
|
licenses: []
|
199
|
-
|
200
173
|
post_install_message:
|
201
174
|
rdoc_options: []
|
202
|
-
|
203
|
-
require_paths:
|
175
|
+
require_paths:
|
204
176
|
- lib
|
205
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
hash: 3
|
211
|
-
segments:
|
177
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
segments:
|
212
182
|
- 0
|
213
|
-
|
214
|
-
|
183
|
+
hash: 3140459503075667103
|
184
|
+
version: '0'
|
215
185
|
none: false
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
segments:
|
186
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - ! '>='
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
segments:
|
221
191
|
- 0
|
222
|
-
|
192
|
+
hash: 3140459503075667103
|
193
|
+
version: '0'
|
194
|
+
none: false
|
223
195
|
requirements: []
|
224
|
-
|
225
196
|
rubyforge_project:
|
226
197
|
rubygems_version: 1.8.25
|
227
198
|
signing_key:
|
228
199
|
specification_version: 3
|
229
200
|
summary: Make Rails Use MiniTest::Spec!
|
230
|
-
test_files:
|
201
|
+
test_files:
|
231
202
|
- test/cases/action_controller_test.rb
|
232
203
|
- test/cases/action_dispatch_test.rb
|
233
204
|
- test/cases/action_mailer_test.rb
|