fried-test 0.5.1 → 1.0.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 +4 -4
- data/README.md +3 -0
- data/fried-test.gemspec +1 -0
- data/lib/fried/test/cli.rb +14 -4
- data/lib/fried/test/get_options.rb +22 -0
- data/lib/fried/test/get_single_test_file.rb +34 -0
- data/lib/fried/test/load_plugins.rb +23 -0
- data/lib/fried/test/load_test_files.rb +22 -7
- data/lib/fried/test/options.rb +19 -0
- data/lib/fried/test/version.rb +1 -1
- metadata +20 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d46219ca40b00b37129cc0a978378f371d8b528
|
4
|
+
data.tar.gz: 67a15b62486e81d34d2501a89b298a7071913203
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07a87e887d707f93130fe9acafb1f48433171357a25d756dc4af368776525da03b25592dbe1c02579377ba89d48cfc81e1fdfeec113969cec81305c89091b2e8
|
7
|
+
data.tar.gz: 72180d22728be5d4cd41a61110b4965b137ecc93379ff5d03141d4d4ed9b12c7f77b7e1e95efb552214509eb3ee627b741a215d22fa3c987989ebf3c882e8b11
|
data/README.md
CHANGED
@@ -5,6 +5,9 @@ opinionated wrapper around `minitest/autorun`. You can run `friest` and it
|
|
5
5
|
will run the test suite automatically for any test found in the directory
|
6
6
|
`test` with any file ending with `_test.rb`.
|
7
7
|
|
8
|
+
It automatically includes (and uses) the Progress Report (you can overwrite
|
9
|
+
it), and `minitest-focus` for when you need it.
|
10
|
+
|
8
11
|
## Philosophy
|
9
12
|
|
10
13
|
This gem is mainly a **philosophy** on how your tests should be written.
|
data/fried-test.gemspec
CHANGED
data/lib/fried/test/cli.rb
CHANGED
@@ -2,36 +2,46 @@ require "fried/core"
|
|
2
2
|
require "fried/test/load_test_files"
|
3
3
|
require "fried/test/load_tests_path"
|
4
4
|
require "fried/test/autorun"
|
5
|
+
require "fried/test/get_options"
|
6
|
+
require "fried/test/load_plugins"
|
5
7
|
|
6
8
|
module Fried::Test
|
7
9
|
class CLI
|
8
10
|
attr_accessor :load_tests_path
|
9
11
|
attr_accessor :load_test_files
|
12
|
+
attr_accessor :load_plugins
|
10
13
|
attr_accessor :autorun
|
14
|
+
attr_accessor :get_options
|
11
15
|
|
12
16
|
def initialize
|
13
17
|
@load_tests_path = LoadTestsPath.new
|
14
18
|
@load_test_files = LoadTestFiles.new
|
19
|
+
@load_plugins = LoadPlugins.new
|
15
20
|
@autorun = Autorun.new
|
21
|
+
@get_options = GetOptions.new
|
16
22
|
end
|
17
23
|
|
18
24
|
def self.build
|
19
25
|
new.tap do |instance|
|
20
26
|
instance.load_tests_path = LoadTestsPath.build
|
21
27
|
instance.load_test_files = LoadTestFiles.build
|
28
|
+
instance.load_plugins = LoadPlugins.build
|
22
29
|
instance.autorun = Autorun.build
|
30
|
+
instance.get_options = GetOptions.build
|
23
31
|
end
|
24
32
|
end
|
25
33
|
|
26
|
-
def call
|
34
|
+
def call(argv = ARGV)
|
35
|
+
load_plugins.()
|
36
|
+
options = get_options.(argv)
|
27
37
|
load_tests_path.()
|
28
|
-
load_test_files.()
|
38
|
+
load_test_files.(options)
|
29
39
|
autorun.()
|
30
40
|
end
|
31
41
|
|
32
|
-
def self.call
|
42
|
+
def self.call(argv = ARGV)
|
33
43
|
instance = build
|
34
|
-
instance.()
|
44
|
+
instance.(argv)
|
35
45
|
end
|
36
46
|
end
|
37
47
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require "fried/core"
|
2
|
+
require "fried/test/options"
|
3
|
+
|
4
|
+
module Fried::Test
|
5
|
+
class GetOptions
|
6
|
+
def self.build
|
7
|
+
new
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.call
|
11
|
+
instance = build
|
12
|
+
instance.()
|
13
|
+
end
|
14
|
+
|
15
|
+
# @param argv [Array<String>]
|
16
|
+
# @return [Options]
|
17
|
+
def call(argv)
|
18
|
+
file = ARGV.last
|
19
|
+
Options.build(file: file)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require "fried/core"
|
2
|
+
require "fried/test/directory/current_working_directory"
|
3
|
+
|
4
|
+
module Fried::Test
|
5
|
+
class GetSingleTestFile
|
6
|
+
CurrentWorkingDirectory = Directory::CurrentWorkingDirectory
|
7
|
+
|
8
|
+
attr_accessor :current_working_directory
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
self.current_working_directory = CurrentWorkingDirectory.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.build
|
15
|
+
new.tap do |instance|
|
16
|
+
instance.current_working_directory = CurrentWorkingDirectory.build
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.call(file)
|
21
|
+
instance = build
|
22
|
+
instance.(file)
|
23
|
+
end
|
24
|
+
|
25
|
+
# @param file [String]
|
26
|
+
# @return [Array<Pathname>]
|
27
|
+
def call(file)
|
28
|
+
directory = current_working_directory.()
|
29
|
+
test_file_path = directory.join(file.to_s)
|
30
|
+
|
31
|
+
[test_file_path]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "fried/core"
|
2
|
+
|
3
|
+
module Fried::Test
|
4
|
+
class LoadPlugins
|
5
|
+
def self.build
|
6
|
+
new
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.call
|
10
|
+
instance = build
|
11
|
+
instance.()
|
12
|
+
end
|
13
|
+
|
14
|
+
# @return [void]
|
15
|
+
def call
|
16
|
+
require "minitest/spec"
|
17
|
+
require "minitest/focus"
|
18
|
+
require "minitest/reporters"
|
19
|
+
reporter = Minitest::Reporters::ProgressReporter.new
|
20
|
+
Minitest::Reporters.use!(reporter)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
require "fried/core"
|
2
2
|
require "fried/test/get_test_files"
|
3
|
+
require "fried/test/get_single_test_file"
|
4
|
+
require "fried/test/options"
|
3
5
|
|
4
6
|
module Fried::Test
|
5
7
|
# Load test files using {require_relative}
|
@@ -7,33 +9,46 @@ module Fried::Test
|
|
7
9
|
class Substitute
|
8
10
|
include ::Fried::Test::Telemetry
|
9
11
|
|
10
|
-
def call
|
11
|
-
record :call
|
12
|
+
def call(options = Options::Default)
|
13
|
+
record :call, options
|
12
14
|
nil
|
13
15
|
end
|
14
16
|
end
|
15
17
|
|
16
18
|
attr_accessor :get_test_files
|
19
|
+
attr_accessor :get_single_test_file
|
17
20
|
|
18
21
|
def initialize
|
19
22
|
@get_test_files = GetTestFiles.new
|
23
|
+
@get_single_test_file = GetSingleTestFile.new
|
20
24
|
end
|
21
25
|
|
22
26
|
def self.build
|
23
27
|
new.tap do |instance|
|
24
28
|
instance.get_test_files = GetTestFiles.build
|
29
|
+
instance.get_single_test_file = GetSingleTestFile.build
|
25
30
|
end
|
26
31
|
end
|
27
32
|
|
33
|
+
def self.call(options = Options::Default)
|
34
|
+
instance = build
|
35
|
+
instance.(options)
|
36
|
+
end
|
37
|
+
|
28
38
|
# @return [void]
|
29
|
-
def call
|
30
|
-
test_files =
|
39
|
+
def call(options = Options::Default)
|
40
|
+
test_files = fetch_files(options)
|
31
41
|
test_files.each { |file| require_relative file.to_s }
|
32
42
|
end
|
33
43
|
|
34
|
-
|
35
|
-
|
36
|
-
|
44
|
+
private
|
45
|
+
|
46
|
+
def fetch_files(options)
|
47
|
+
if options.single_file?
|
48
|
+
get_single_test_file.(options.file)
|
49
|
+
else
|
50
|
+
get_test_files.()
|
51
|
+
end
|
37
52
|
end
|
38
53
|
end
|
39
54
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require "fried/core"
|
2
|
+
|
3
|
+
module Fried::Test
|
4
|
+
class Options
|
5
|
+
Default = new.freeze
|
6
|
+
|
7
|
+
attr_accessor :file
|
8
|
+
|
9
|
+
def self.build(file: nil)
|
10
|
+
new.tap do |instance|
|
11
|
+
instance.file = file
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def single_file?
|
16
|
+
!file.nil?
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/fried/test/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fried-test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fire-Dragon-DoL
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: minitest-focus
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
description: Minitest helpers and testing philosophy
|
98
112
|
email:
|
99
113
|
- francesco.belladonna@gmail.com
|
@@ -118,11 +132,15 @@ files:
|
|
118
132
|
- lib/fried/test/cli.rb
|
119
133
|
- lib/fried/test/directory/current_working_directory.rb
|
120
134
|
- lib/fried/test/directory/get_files_by_pattern.rb
|
135
|
+
- lib/fried/test/get_options.rb
|
136
|
+
- lib/fried/test/get_single_test_file.rb
|
121
137
|
- lib/fried/test/get_test_directory.rb
|
122
138
|
- lib/fried/test/get_test_files.rb
|
139
|
+
- lib/fried/test/load_plugins.rb
|
123
140
|
- lib/fried/test/load_test_files.rb
|
124
141
|
- lib/fried/test/load_tests_path.rb
|
125
142
|
- lib/fried/test/noop.rb
|
143
|
+
- lib/fried/test/options.rb
|
126
144
|
- lib/fried/test/prepend_to_load_path.rb
|
127
145
|
- lib/fried/test/rake.rb
|
128
146
|
- lib/fried/test/telemetry.rb
|