generative 0.0.1 → 0.1.0
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 +7 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +9 -0
- data/README.md +14 -7
- data/Rakefile +2 -3
- data/generative.gemspec +12 -4
- data/lib/generative/formatters.rb +0 -1
- data/lib/generative/ordering.rb +12 -4
- data/spec/generative_spec.rb +1 -1
- metadata +21 -23
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: cb07b72eae577b93f0b1a1ad07c359febd371b2a
|
4
|
+
data.tar.gz: 546a72740dba23846335a260cd990b869475e9a6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e05ce694896ac75dbd22283c29bcf7ff6900d5928ddebbf907184944f1098c2a34c02f75d14866c0c72385a56796163307765c4cd655911379948b400e2c1d91
|
7
|
+
data.tar.gz: 1af5f8fd24a3449a28c602d8be2cf33299aef47c647851f0ff3aa123252a66b3c401da015f561b7f5688cc5c9fc93734f3969337531d4320744bb9929c1cba4e
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -7,17 +7,17 @@
|
|
7
7
|
|
8
8
|
## Installation
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
### Add Generative to your Gemfile:
|
10
|
+
### Add Generative to your Gemfile (or gemspec):
|
13
11
|
|
14
12
|
```rb
|
15
13
|
group :test do
|
16
14
|
gem 'generative'
|
17
|
-
gem 'rspec'
|
15
|
+
gem 'rspec'
|
18
16
|
end
|
19
17
|
```
|
20
18
|
|
19
|
+
...and then run `bundle`.
|
20
|
+
|
21
21
|
### Require Generative in your `.rspec` file:
|
22
22
|
|
23
23
|
```
|
@@ -32,19 +32,26 @@ end
|
|
32
32
|
require 'bundler/gem_tasks'
|
33
33
|
require 'rspec/core/rake_task'
|
34
34
|
|
35
|
-
ENV['GENERATIVE_COUNT'] = '10_000'
|
36
|
-
|
37
35
|
task default: [:spec, :generative]
|
38
36
|
|
39
37
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
40
|
-
t.rspec_opts = '--format documentation --tag ~generative'
|
38
|
+
t.rspec_opts = '--format documentation --tag ~generative --order random'
|
41
39
|
end
|
42
40
|
|
43
41
|
RSpec::Core::RakeTask.new(:generative) do |t|
|
42
|
+
ENV['GENERATIVE_COUNT'] = '10_000'
|
44
43
|
t.rspec_opts = '--format Generative --tag generative'
|
45
44
|
end
|
46
45
|
```
|
47
46
|
|
47
|
+
### Remove any random/other ordering
|
48
|
+
|
49
|
+
If using RSpec 2, you'll need to make sure you remove `config.order =
|
50
|
+
'random'`, or any other ordering strategies, from your spec helper.
|
51
|
+
|
52
|
+
In RSpec 3, this is not nessecary, because each example group (the `generative`
|
53
|
+
block) can override ordering for that group.
|
54
|
+
|
48
55
|
## Usage
|
49
56
|
|
50
57
|
### Specs
|
data/Rakefile
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
|
4
|
-
ENV['GENERATIVE_COUNT'] = '10_000'
|
5
|
-
|
6
4
|
task default: [:spec, :generative]
|
7
5
|
|
8
6
|
RSpec::Core::RakeTask.new(:spec) do |t|
|
9
|
-
t.rspec_opts = '--format documentation --tag ~generative'
|
7
|
+
t.rspec_opts = '--format documentation --tag ~generative --order random'
|
10
8
|
end
|
11
9
|
|
12
10
|
RSpec::Core::RakeTask.new(:generative) do |t|
|
11
|
+
ENV['GENERATIVE_COUNT'] ||= '10_000'
|
13
12
|
t.rspec_opts = '--format Generative --tag generative'
|
14
13
|
end
|
data/generative.gemspec
CHANGED
@@ -4,18 +4,26 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = 'generative'
|
7
|
-
gem.version = '0.0
|
8
|
-
gem.authors = ["Justin Campbell"]
|
9
|
-
gem.email = ["justin@justincampbell.me"]
|
7
|
+
gem.version = '0.1.0'
|
8
|
+
gem.authors = ["Justin Campbell", "Dan McClory"]
|
9
|
+
gem.email = ["justin@justincampbell.me", "danmcclory@gmail.com"]
|
10
10
|
gem.description = "Generative testing for RSpec"
|
11
11
|
gem.summary = "Generative testing for RSpec"
|
12
12
|
gem.homepage = "https://github.com/justincampbell/generative"
|
13
|
+
gem.license = 'MIT'
|
13
14
|
|
14
15
|
gem.files = `git ls-files`.split($/)
|
15
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
16
17
|
gem.require_paths = ["lib"]
|
17
18
|
|
18
|
-
|
19
|
+
case ENV['RSPEC_VERSION']
|
20
|
+
when '2'
|
21
|
+
gem.add_dependency 'rspec', '~> 2.0'
|
22
|
+
when '3'
|
23
|
+
gem.add_dependency 'rspec', '3.0.0.beta1'
|
24
|
+
else
|
25
|
+
gem.add_dependency 'rspec'
|
26
|
+
end
|
19
27
|
|
20
28
|
gem.add_development_dependency 'rake'
|
21
29
|
end
|
data/lib/generative/ordering.rb
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
Generative::ORDERING = ->(examples) {
|
2
|
+
number_of_examples = ENV.fetch('GENERATIVE_COUNT', '1').to_i
|
3
|
+
examples * number_of_examples
|
4
|
+
}
|
4
5
|
|
5
|
-
|
6
|
+
RSpec.configure do |rspec|
|
7
|
+
case RSpec::Core::Version::STRING
|
8
|
+
when /^2/
|
9
|
+
rspec.order_examples(&Generative::ORDERING) if ENV['GENERATIVE_COUNT']
|
10
|
+
when /^3/
|
11
|
+
rspec.register_ordering(:generative, &Generative::ORDERING)
|
12
|
+
else
|
13
|
+
puts "Generative was unable to determine the RSpec version."
|
6
14
|
end
|
7
15
|
end
|
data/spec/generative_spec.rb
CHANGED
metadata
CHANGED
@@ -1,58 +1,56 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: generative
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Justin Campbell
|
8
|
+
- Dan McClory
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-12-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
17
|
requirements:
|
19
|
-
- -
|
18
|
+
- - ">="
|
20
19
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
20
|
+
version: '0'
|
22
21
|
type: :runtime
|
23
22
|
prerelease: false
|
24
23
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
24
|
requirements:
|
27
|
-
- -
|
25
|
+
- - ">="
|
28
26
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
27
|
+
version: '0'
|
30
28
|
- !ruby/object:Gem::Dependency
|
31
29
|
name: rake
|
32
30
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
31
|
requirements:
|
35
|
-
- -
|
32
|
+
- - ">="
|
36
33
|
- !ruby/object:Gem::Version
|
37
34
|
version: '0'
|
38
35
|
type: :development
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
38
|
requirements:
|
43
|
-
- -
|
39
|
+
- - ">="
|
44
40
|
- !ruby/object:Gem::Version
|
45
41
|
version: '0'
|
46
42
|
description: Generative testing for RSpec
|
47
43
|
email:
|
48
44
|
- justin@justincampbell.me
|
45
|
+
- danmcclory@gmail.com
|
49
46
|
executables: []
|
50
47
|
extensions: []
|
51
48
|
extra_rdoc_files: []
|
52
49
|
files:
|
53
|
-
- .gitignore
|
54
|
-
- .rspec
|
55
|
-
- .travis.yml
|
50
|
+
- ".gitignore"
|
51
|
+
- ".rspec"
|
52
|
+
- ".travis.yml"
|
53
|
+
- CHANGELOG.md
|
56
54
|
- Gemfile
|
57
55
|
- LICENSE.txt
|
58
56
|
- README.md
|
@@ -66,28 +64,28 @@ files:
|
|
66
64
|
- spec/generative_spec.rb
|
67
65
|
- spec/spec_helper.rb
|
68
66
|
homepage: https://github.com/justincampbell/generative
|
69
|
-
licenses:
|
67
|
+
licenses:
|
68
|
+
- MIT
|
69
|
+
metadata: {}
|
70
70
|
post_install_message:
|
71
71
|
rdoc_options: []
|
72
72
|
require_paths:
|
73
73
|
- lib
|
74
74
|
required_ruby_version: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
75
|
requirements:
|
77
|
-
- -
|
76
|
+
- - ">="
|
78
77
|
- !ruby/object:Gem::Version
|
79
78
|
version: '0'
|
80
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
80
|
requirements:
|
83
|
-
- -
|
81
|
+
- - ">="
|
84
82
|
- !ruby/object:Gem::Version
|
85
83
|
version: '0'
|
86
84
|
requirements: []
|
87
85
|
rubyforge_project:
|
88
|
-
rubygems_version:
|
86
|
+
rubygems_version: 2.2.0
|
89
87
|
signing_key:
|
90
|
-
specification_version:
|
88
|
+
specification_version: 4
|
91
89
|
summary: Generative testing for RSpec
|
92
90
|
test_files:
|
93
91
|
- spec/generative_spec.rb
|