fantaskspec 0.9.9 → 0.9.10
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 +28 -10
- data/lib/fantaskspec/rake_example_group.rb +8 -3
- data/lib/fantaskspec/version.rb +1 -1
- metadata +32 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f635b1652a3a59564bd779008866255d54ad3310
|
4
|
+
data.tar.gz: 9f3e22d90d538e3ed89f62aff07263f5459d5e3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a38dc8fb22ccd20af85dc19164f0e8ef7734306c4a872e6c5c262418d1fe3165a03e06e921c80283b4dd851c8d48e81bf4c23bf82fb316cd53f69fa02bccb458
|
7
|
+
data.tar.gz: b649e9a104d1eb41331a6e362cf18467bdfd8f07d75595eb91222a8948569b43471bdfab1ff0095ec6c7e09ffb204835c56f62d822a412db9cc766373856307a
|
data/README.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
Fantaskspec
|
2
2
|
===========
|
3
|
-
|
3
|
+
[](http://badge.fury.io/rb/fantaskspec)
|
4
|
+
[](https://travis-ci.org/crismali/fantaskspec)
|
5
|
+
|
6
|
+
Makes it easy to test your Rake tasks with RSpec. [Read this for more.](https://devmynd.com/blog/2015-3-testing-rake-tasks-with-rspec-and-fantaskspec)
|
4
7
|
|
5
8
|
Installation
|
6
9
|
------------
|
@@ -13,11 +16,13 @@ gem "fantaskspec"
|
|
13
16
|
|
14
17
|
And then execute:
|
15
18
|
|
16
|
-
$ bundle
|
19
|
+
$ bundle install
|
17
20
|
|
18
|
-
Then
|
21
|
+
Then in your `spec_helper` or `rails_helper`:
|
19
22
|
|
20
23
|
```ruby
|
24
|
+
require "fantaskspec"
|
25
|
+
|
21
26
|
RSpec.configure do |config|
|
22
27
|
# ...
|
23
28
|
config.infer_rake_task_specs_from_file_location!
|
@@ -25,7 +30,14 @@ RSpec.configure do |config|
|
|
25
30
|
end
|
26
31
|
```
|
27
32
|
That will make it so that specs in `spec/lib/tasks` and `spec/tasks` will automatically have a type
|
28
|
-
of `:rake` (unless you override it).
|
33
|
+
of `:rake` (unless you override it). If you don't want to use `infer_rake_task_specs_from_file_location!`
|
34
|
+
you can explicitly set the spec type like so:
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
RSpec.describe "namespace:foo", type: :rake do
|
38
|
+
# Lots of lovely specs
|
39
|
+
end
|
40
|
+
```
|
29
41
|
|
30
42
|
### Loading your Rake tasks
|
31
43
|
This gem doesn't load your Rake tasks for you, that's something you have to do. If you're using Rails, just
|
@@ -59,8 +71,9 @@ RSpec.describe "some_task" do
|
|
59
71
|
end
|
60
72
|
end
|
61
73
|
```
|
62
|
-
Here `subject` and `task` are both
|
63
|
-
|
74
|
+
Here `subject` and `task` are both the Rake task `some_task`. Fantaskspec also gives us the handy `depend_on` matcher so we can ensure our dependencies are correct.
|
75
|
+
|
76
|
+
If you only care about some of your task's dependencies you can use `depend_on_subset` instead of `depend_on`.
|
64
77
|
|
65
78
|
Here we're assuming we've called `config.infer_rake_task_specs_from_file_location!` in our
|
66
79
|
`RSpec.configure` block so we don't need to specify `type: :rake` in any of our example groups
|
@@ -80,7 +93,12 @@ Contributing
|
|
80
93
|
------------
|
81
94
|
|
82
95
|
1. [Fork it](https://github.com/crismali/fantaskspec/fork)
|
83
|
-
2.
|
84
|
-
3.
|
85
|
-
4.
|
86
|
-
5.
|
96
|
+
2. Clone it locally
|
97
|
+
3. `cd` into the project root
|
98
|
+
4. `bundle install`
|
99
|
+
5. `appraisal install`
|
100
|
+
6. Run the specs with `appraisal rspec`
|
101
|
+
7. Create your feature branch (`git checkout -b my-new-feature`)
|
102
|
+
8. Commit your changes (`git commit -am 'Add some feature'`)
|
103
|
+
9. Push to the branch (`git push origin my-new-feature`)
|
104
|
+
10. Create a new Pull Request
|
@@ -22,9 +22,8 @@ module Fantaskspec
|
|
22
22
|
name
|
23
23
|
end
|
24
24
|
|
25
|
-
|
26
|
-
subject
|
27
|
-
let(:task, &fetch_task)
|
25
|
+
let(:task) { ::Rake::Task[task_name] }
|
26
|
+
subject { task }
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
@@ -33,5 +32,11 @@ module Fantaskspec
|
|
33
32
|
actual.prerequisites == expected.map(&:to_s)
|
34
33
|
end
|
35
34
|
end
|
35
|
+
|
36
|
+
matcher :depend_on_subset do |*expected|
|
37
|
+
match do |actual|
|
38
|
+
(actual.prerequisites & expected.map(&:to_s)) == expected.map(&:to_s)
|
39
|
+
end
|
40
|
+
end
|
36
41
|
end
|
37
42
|
end
|
data/lib/fantaskspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fantaskspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Crismali
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-doc
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: appraisal
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
description: Makes it easy to test your Rake tasks with RSpec.
|
84
112
|
email:
|
85
113
|
- michael.crismali@gmail.com
|
@@ -112,8 +140,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
140
|
version: '0'
|
113
141
|
requirements: []
|
114
142
|
rubyforge_project:
|
115
|
-
rubygems_version: 2.
|
143
|
+
rubygems_version: 2.4.5
|
116
144
|
signing_key:
|
117
145
|
specification_version: 4
|
118
146
|
summary: Makes it easy to test your Rake tasks with RSpec.
|
119
147
|
test_files: []
|
148
|
+
has_rdoc:
|