bogus 0.0.3.rc.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/features/fakes/anonymous_doubles.feature +1 -1
- data/features/fakes/fake_objects.feature +1 -1
- data/features/fakes/global_fake_configuration.feature +1 -1
- data/features/readme.md +1 -1
- data/features/safe_stubbing/readme.md +1 -1
- data/lib/bogus/injector.rb +0 -8
- data/lib/bogus/version.rb +1 -1
- metadata +31 -34
data/Gemfile.lock
CHANGED
@@ -2,7 +2,7 @@ Feature: Anonymous test doubles
|
|
2
2
|
|
3
3
|
Anonymous test doubles can be useful as a stepping stone towards actual fakes and when migrating from another testing library.
|
4
4
|
|
5
|
-
In contrast with other testing libraries, Bogus makes
|
5
|
+
In contrast with other testing libraries, Bogus makes its fakes respond to all methods by default and makes those calls chainable. This way you can spy on methods without stubbing them first.
|
6
6
|
|
7
7
|
It is not advisable to use those for anything else than an intermediate step. Fakes that mimic an actual class have many more benefits.
|
8
8
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Feature: Global fake configuration
|
2
2
|
|
3
|
-
In an ideal world, all
|
3
|
+
In an ideal world, all the fakes would follow the tell-don't-ask principle, which would eliminate the need for stubbing, and would be instances of classes that match the fake name, which would eliminate the need for configuration of things like (`as: :class` / `as: :instance`).
|
4
4
|
|
5
5
|
However, in reality we often need to add this kind of configuration to our fake definitions, and the more collaborators a fake has, the more duplication we introduce this way.
|
6
6
|
|
data/features/readme.md
CHANGED
@@ -16,7 +16,7 @@ It is not uncommon to encounter code like this in isolated unit tests:
|
|
16
16
|
_NOTE: In the above example we use mocha syntax, but this patten is common
|
17
17
|
to all the major mocking frameworks_
|
18
18
|
|
19
|
-
The test above not only ensures that `ReportCard` can calculate the average score for all the students, but it also specifies how this class will interact with
|
19
|
+
The test above not only ensures that `ReportCard` can calculate the average score for all the students, but it also specifies how this class will interact with its collaborators and what those collaborators will be.
|
20
20
|
|
21
21
|
This style of testing enables us to practice so called *programming by wishful thinking*. We can implement `ReportCard` and get it to work before it's collaborators are implemented. This way we can design our system top-down and only implement what we need. This is a Very Good Thing(tm).
|
22
22
|
|
@@ -5,7 +5,7 @@ When you stub/mock a method in Bogus, it will automatically ensure that:
|
|
5
5
|
1. The method actually exists
|
6
6
|
2. It can take the number of arguments you passed
|
7
7
|
|
8
|
-
Those of you familiar with RR stubbing syntax, will
|
8
|
+
Those of you familiar with RR stubbing syntax, will feel right at home with Bogus:
|
9
9
|
|
10
10
|
stub(object).method_name(*arguments) { return_value }
|
11
11
|
|
data/lib/bogus/injector.rb
CHANGED
@@ -15,14 +15,6 @@ module Bogus
|
|
15
15
|
configuration.search_modules
|
16
16
|
end
|
17
17
|
|
18
|
-
def rr_proxy
|
19
|
-
Bogus::RRProxy
|
20
|
-
end
|
21
|
-
|
22
|
-
def rr_shadow(object)
|
23
|
-
inject(Bogus::RRShadow, object: object)
|
24
|
-
end
|
25
|
-
|
26
18
|
def fake_registry
|
27
19
|
@fake_registry ||= inject(FakeRegistry)
|
28
20
|
end
|
data/lib/bogus/version.rb
CHANGED
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bogus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.3
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.3
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Adam Pohorecki
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: dependor
|
16
|
-
requirement: &
|
16
|
+
requirement: &70273273666380 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.0.4
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70273273666380
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &70273273665940 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70273273665940
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70273273665440 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70273273665440
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: cucumber
|
49
|
-
requirement: &
|
49
|
+
requirement: &70273273664900 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70273273664900
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: aruba
|
60
|
-
requirement: &
|
60
|
+
requirement: &70273273664340 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70273273664340
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: guard
|
71
|
-
requirement: &
|
71
|
+
requirement: &70273273663500 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70273273663500
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: guard-rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &70273273662220 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70273273662220
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: guard-cucumber
|
93
|
-
requirement: &
|
93
|
+
requirement: &70273273661600 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70273273661600
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: guard-ctags-bundler
|
104
|
-
requirement: &
|
104
|
+
requirement: &70273273660820 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70273273660820
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: growl
|
115
|
-
requirement: &
|
115
|
+
requirement: &70273273660380 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70273273660380
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: libnotify
|
126
|
-
requirement: &
|
126
|
+
requirement: &70273273659840 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *70273273659840
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: rr
|
137
|
-
requirement: &
|
137
|
+
requirement: &70273273658780 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '0'
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *70273273658780
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: relish
|
148
|
-
requirement: &
|
148
|
+
requirement: &70273273657940 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ! '>='
|
@@ -153,7 +153,7 @@ dependencies:
|
|
153
153
|
version: '0'
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *70273273657940
|
157
157
|
description: Decreases the need to write integration tests by ensuring that the things
|
158
158
|
you stub or mock actually exist.
|
159
159
|
email:
|
@@ -301,15 +301,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
301
301
|
- - ! '>='
|
302
302
|
- !ruby/object:Gem::Version
|
303
303
|
version: '0'
|
304
|
-
segments:
|
305
|
-
- 0
|
306
|
-
hash: 3986267174147275748
|
307
304
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
308
305
|
none: false
|
309
306
|
requirements:
|
310
|
-
- - ! '
|
307
|
+
- - ! '>='
|
311
308
|
- !ruby/object:Gem::Version
|
312
|
-
version:
|
309
|
+
version: '0'
|
313
310
|
requirements: []
|
314
311
|
rubyforge_project: bogus
|
315
312
|
rubygems_version: 1.8.15
|