test 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemspec +152 -0
- data/.gitignore +7 -0
- data/.ruby +43 -0
- data/.test +11 -0
- data/.yardopts +7 -0
- data/Assembly +46 -0
- data/COPYING.rdoc +31 -0
- data/HISTORY.md +29 -0
- data/LICENSE.txt +25 -0
- data/MANIFEST +38 -0
- data/PROFILE +31 -0
- data/README.md +110 -0
- data/VERSION +1 -0
- data/bin/ruby-test +4 -0
- data/lib/test.rb +3 -0
- data/lib/test/autorun.rb +18 -0
- data/lib/test/cli.rb +110 -0
- data/lib/test/code_snippet.rb +93 -0
- data/lib/test/config.rb +72 -0
- data/lib/test/core_ext.rb +9 -0
- data/lib/test/core_ext/assertion.rb +30 -0
- data/lib/test/core_ext/exception.rb +8 -0
- data/lib/test/core_ext/string.rb +30 -0
- data/lib/test/rake.rb +120 -0
- data/lib/test/recorder.rb +53 -0
- data/lib/test/reporters/abstract.rb +238 -0
- data/lib/test/reporters/abstract_hash.rb +224 -0
- data/lib/test/reporters/dotprogress.rb +89 -0
- data/lib/test/reporters/html.rb +155 -0
- data/lib/test/reporters/outline.rb +211 -0
- data/lib/test/reporters/progress.rb +197 -0
- data/lib/test/reporters/summary.rb +145 -0
- data/lib/test/reporters/tap.rb +61 -0
- data/lib/test/reporters/tapj.rb +53 -0
- data/lib/test/reporters/tapy.rb +53 -0
- data/lib/test/reporters/test.rb +51 -0
- data/lib/test/runner.rb +342 -0
- data/site/assets/images/test_pattern.jpg +0 -0
- data/site/index.html +31 -0
- data/spec/01_test.md +29 -0
- data/spec/02_case.md +34 -0
- data/spec/applique/ruby-test.rb +2 -0
- data/test/basic_case.rb +11 -0
- data/try/raw_example.rb +41 -0
- data/work/NOTES.md +17 -0
- metadata +129 -0
data/.gemspec
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
Gem::Specification.new do |gemspec|
|
6
|
+
|
7
|
+
manifest = Dir.glob('manifest{,.txt)', File::FNM_CASEFOLD).first
|
8
|
+
|
9
|
+
scm = case
|
10
|
+
when File.directory?('.git')
|
11
|
+
:git
|
12
|
+
end
|
13
|
+
|
14
|
+
files = case
|
15
|
+
when manifest
|
16
|
+
File.readlines(manifest).
|
17
|
+
map{ |line| line.srtip }.
|
18
|
+
reject{ |line| line.empty? || line[0,1] == '#' }
|
19
|
+
when scm == :git
|
20
|
+
`git ls-files -z`.split("\0")
|
21
|
+
else
|
22
|
+
Dir.glob('{**/}{.*,*}') # TODO: be more specific using standard locations ?
|
23
|
+
end.select{ |path| File.file?(path) }
|
24
|
+
|
25
|
+
patterns = {
|
26
|
+
:bin_files => 'bin/*',
|
27
|
+
:lib_files => 'lib/{**/}*.rb',
|
28
|
+
:ext_files => 'ext/{**/}extconf.rb',
|
29
|
+
:doc_files => '*.{txt,rdoc,md,markdown,tt,textile}',
|
30
|
+
:test_files => '{test/{**/}*_test.rb,spec/{**/}*_spec.rb}'
|
31
|
+
}
|
32
|
+
|
33
|
+
glob_files = lambda { |pattern|
|
34
|
+
Dir.glob(pattern).select { |path|
|
35
|
+
File.file?(path) && files.include?(path)
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
#files = glob_files[patterns[:files]]
|
40
|
+
|
41
|
+
executables = glob_files[patterns[:bin_files]].map do |path|
|
42
|
+
File.basename(path)
|
43
|
+
end
|
44
|
+
|
45
|
+
extensions = glob_files[patterns[:ext_files]].map do |path|
|
46
|
+
File.basename(path)
|
47
|
+
end
|
48
|
+
|
49
|
+
metadata = YAML.load_file('.ruby')
|
50
|
+
|
51
|
+
# build-out the gemspec
|
52
|
+
|
53
|
+
case metadata['revision']
|
54
|
+
when 0
|
55
|
+
gemspec.name = metadata['name']
|
56
|
+
gemspec.version = metadata['version']
|
57
|
+
gemspec.summary = metadata['summary']
|
58
|
+
gemspec.description = metadata['description']
|
59
|
+
|
60
|
+
metadata['authors'].each do |author|
|
61
|
+
gemspec.authors << author['name']
|
62
|
+
|
63
|
+
if author.has_key?('email')
|
64
|
+
if gemspec.email
|
65
|
+
gemspec.email << author['email']
|
66
|
+
else
|
67
|
+
gemspec.email = [author['email']]
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
gemspec.licenses = metadata['licenses']
|
73
|
+
|
74
|
+
metadata['requirements'].each do |req|
|
75
|
+
name = req['name']
|
76
|
+
version = req['version']
|
77
|
+
groups = req['groups'] || []
|
78
|
+
|
79
|
+
if md = /^(.*?)([+-~])$/.match(version)
|
80
|
+
version = case md[2]
|
81
|
+
when '+' then ">= #{$1}"
|
82
|
+
when '-' then "< #{$1}"
|
83
|
+
when '~' then "~> #{$1}"
|
84
|
+
else version
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
#development = req['development']
|
89
|
+
#if development
|
90
|
+
# # populate development dependencies
|
91
|
+
# if gemspec.respond_to?(:add_development_dependency)
|
92
|
+
# gemspec.add_development_dependency(name,*version)
|
93
|
+
# else
|
94
|
+
# gemspec.add_dependency(name,*version)
|
95
|
+
# end
|
96
|
+
#else
|
97
|
+
# # populate runtime dependencies
|
98
|
+
# if gemspec.respond_to?(:add_runtime_dependency)
|
99
|
+
# gemspec.add_runtime_dependency(name,*version)
|
100
|
+
# else
|
101
|
+
# gemspec.add_dependency(name,*version)
|
102
|
+
# end
|
103
|
+
#end
|
104
|
+
|
105
|
+
if groups.empty? or groups.include?('runtime')
|
106
|
+
# populate runtime dependencies
|
107
|
+
if gemspec.respond_to?(:add_runtime_dependency)
|
108
|
+
gemspec.add_runtime_dependency(name,*version)
|
109
|
+
else
|
110
|
+
gemspec.add_dependency(name,*version)
|
111
|
+
end
|
112
|
+
else
|
113
|
+
# populate development dependencies
|
114
|
+
if gemspec.respond_to?(:add_development_dependency)
|
115
|
+
gemspec.add_development_dependency(name,*version)
|
116
|
+
else
|
117
|
+
gemspec.add_dependency(name,*version)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
# convert external dependencies into a requirements
|
123
|
+
if metadata['external_dependencies']
|
124
|
+
##gemspec.requirements = [] unless metadata['external_dependencies'].empty?
|
125
|
+
metadata['external_dependencies'].each do |req|
|
126
|
+
gemspec.requirements << req.to_s
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# determine homepage from resources
|
131
|
+
homepage = metadata['resources'].find{ |key, url| key =~ /^home/ }
|
132
|
+
gemspec.homepage = homepage.last if homepage
|
133
|
+
|
134
|
+
gemspec.require_paths = metadata['load_path'] || ['lib']
|
135
|
+
gemspec.post_install_message = metadata['install_message']
|
136
|
+
|
137
|
+
# RubyGems specific metadata
|
138
|
+
gemspec.files = files
|
139
|
+
gemspec.extensions = extensions
|
140
|
+
gemspec.executables = executables
|
141
|
+
|
142
|
+
if Gem::VERSION < '1.7.'
|
143
|
+
gemspec.default_executable = gemspec.executables.first
|
144
|
+
end
|
145
|
+
|
146
|
+
gemspec.test_files = glob_files[patterns[:test_files]]
|
147
|
+
|
148
|
+
unless gemspec.files.include?('.document')
|
149
|
+
gemspec.extra_rdoc_files = glob_files[patterns[:doc_files]]
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
data/.gitignore
ADDED
data/.ruby
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
---
|
2
|
+
authors:
|
3
|
+
- name: Thomas Sawyer
|
4
|
+
email: transfire@gmail.com
|
5
|
+
copyrights:
|
6
|
+
- holder: Thomas Sawyer, RubyWorks
|
7
|
+
year: '2011'
|
8
|
+
license: FreeBSD
|
9
|
+
replacements: []
|
10
|
+
conflicts: []
|
11
|
+
requirements:
|
12
|
+
- name: ansi
|
13
|
+
- name: detroit
|
14
|
+
groups:
|
15
|
+
- build
|
16
|
+
development: true
|
17
|
+
- name: qed
|
18
|
+
groups:
|
19
|
+
- test
|
20
|
+
development: true
|
21
|
+
dependencies: []
|
22
|
+
repositories:
|
23
|
+
- uri: git@github.com:rubyworks/test.git
|
24
|
+
scm: git
|
25
|
+
name: upstream
|
26
|
+
resources:
|
27
|
+
home: http://rubyworks.github.com/test
|
28
|
+
code: http://github.com/rubyworks/test
|
29
|
+
mail: http://groups.google.com/group/rubyworks-mailinglist
|
30
|
+
load_path:
|
31
|
+
- lib
|
32
|
+
extra:
|
33
|
+
manifest: MANIFEST
|
34
|
+
alternatives: []
|
35
|
+
revision: 0
|
36
|
+
name: test
|
37
|
+
title: Ruby Test
|
38
|
+
summary: Ruby Universal Test Harness
|
39
|
+
created: '2011-07-23'
|
40
|
+
description: Ruby Test is a universal test harness for Ruby. It can handle any compliant test
|
41
|
+
framework, even running tests from multiple frameworks in a single pass.
|
42
|
+
version: 0.2.0
|
43
|
+
date: '2011-08-10'
|
data/.test
ADDED
data/.yardopts
ADDED
data/Assembly
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
github:
|
3
|
+
active: true
|
4
|
+
|
5
|
+
gem:
|
6
|
+
active: true
|
7
|
+
|
8
|
+
dnote:
|
9
|
+
labels: ~
|
10
|
+
output: log/NOTES.rdoc
|
11
|
+
|
12
|
+
yard:
|
13
|
+
yardopts: true
|
14
|
+
|
15
|
+
qed:
|
16
|
+
files : ~
|
17
|
+
#exclude : ~
|
18
|
+
#loadpath: ~
|
19
|
+
#requires: ~
|
20
|
+
#live : false
|
21
|
+
active : false
|
22
|
+
|
23
|
+
qedoc:
|
24
|
+
files : spec/
|
25
|
+
output: QED.rdoc
|
26
|
+
active: false
|
27
|
+
|
28
|
+
vclog:
|
29
|
+
output: log/ChangeLog.rdoc
|
30
|
+
active: false
|
31
|
+
|
32
|
+
email:
|
33
|
+
service: Email
|
34
|
+
file : ~
|
35
|
+
subject: ~
|
36
|
+
mailto :
|
37
|
+
- ruby-talk@ruby-lang.org
|
38
|
+
- rubyworks-mailinglist@googlegroups.com
|
39
|
+
from : <%= ENV['EMAIL_ACCOUNT'] %>
|
40
|
+
server : <%= ENV['EMAIL_SERVER'] %>
|
41
|
+
port : <%= ENV['EMAIL_PORT'] %>
|
42
|
+
account: <%= ENV['EMAIL_ACCOUNT'] %>
|
43
|
+
domain : <%= ENV['EMAIL_DOMAIN'] %>
|
44
|
+
login : <%= ENV['EMAIL_LOGIN'] %>
|
45
|
+
secure : <%= ENV['EMAIL_SECURE'] %>
|
46
|
+
|
data/COPYING.rdoc
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
= COPYRIGHT NOTICES
|
2
|
+
|
3
|
+
== Ruby Test
|
4
|
+
|
5
|
+
Copyright:: (c) 2011 Thomas Sawyer, RubyWorks
|
6
|
+
License:: BSD-2-Clause
|
7
|
+
Website:: http://rubyworks.github.com/ruby-test
|
8
|
+
|
9
|
+
Copyright 2011 Thomas Sawyer. All rights reserved.
|
10
|
+
|
11
|
+
Redistribution and use in source and binary forms, with or without
|
12
|
+
modification, are permitted provided that the following conditions are met:
|
13
|
+
|
14
|
+
1. Redistributions of source code must retain the above copyright notice,
|
15
|
+
this list of conditions and the following disclaimer.
|
16
|
+
|
17
|
+
2. Redistributions in binary form must reproduce the above copyright
|
18
|
+
notice, this list of conditions and the following disclaimer in the
|
19
|
+
documentation and/or other materials provided with the distribution.
|
20
|
+
|
21
|
+
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
22
|
+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
23
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
24
|
+
COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
25
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
26
|
+
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
28
|
+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
29
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
30
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
|
data/HISTORY.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# RELEASE HISTORY
|
2
|
+
|
3
|
+
## 0.2.0 / 2011-08-10
|
4
|
+
|
5
|
+
With this release Ruby Test is essentially feature complete. Of course there
|
6
|
+
are plenty of tweaks and improvements yet to come, but Ruby Test is fully usable
|
7
|
+
at this point. Only one major aspect of the design remains in question --the
|
8
|
+
way per-testcase "before and after all" advice is handled. Other than that
|
9
|
+
the API fairly solid, even as this early state of development. Always helps
|
10
|
+
when you have a spec to go by!
|
11
|
+
|
12
|
+
Changes:
|
13
|
+
|
14
|
+
* Use Config class to look-up .test file.
|
15
|
+
* Support hard testing, topic and pre-case setup.
|
16
|
+
* Add autorun.rb runner script.
|
17
|
+
* Add a test reporter to use for testing Ruby Test itself.
|
18
|
+
* Improved dotprogess reporter's handling of omissions.
|
19
|
+
* Add unit selection to test runner.
|
20
|
+
|
21
|
+
|
22
|
+
## 0.1.0 / 2011-07-30
|
23
|
+
|
24
|
+
First release of Ruby Test.
|
25
|
+
|
26
|
+
Changes:
|
27
|
+
|
28
|
+
* It's Your Birthday!
|
29
|
+
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
BSD 2 Clause License
|
2
|
+
|
3
|
+
Copyright 2011 Thomas Sawyer. All rights reserved.
|
4
|
+
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
7
|
+
|
8
|
+
1. Redistributions of source code must retain the above copyright notice,
|
9
|
+
this list of conditions and the following disclaimer.
|
10
|
+
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright
|
12
|
+
notice, this list of conditions and the following disclaimer in the
|
13
|
+
documentation and/or other materials provided with the distribution.
|
14
|
+
|
15
|
+
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
16
|
+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
18
|
+
COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
19
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
20
|
+
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
21
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
22
|
+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
23
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
24
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
|
data/MANIFEST
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
#!mast .ruby .test .yaropts bin lib spec test [A-Z][A-Z]*
|
2
|
+
.ruby
|
3
|
+
.test
|
4
|
+
bin/ruby-test
|
5
|
+
lib/test/autorun.rb
|
6
|
+
lib/test/cli.rb
|
7
|
+
lib/test/code_snippet.rb
|
8
|
+
lib/test/config.rb
|
9
|
+
lib/test/core_ext/assertion.rb
|
10
|
+
lib/test/core_ext/exception.rb
|
11
|
+
lib/test/core_ext/string.rb
|
12
|
+
lib/test/core_ext.rb
|
13
|
+
lib/test/rake.rb
|
14
|
+
lib/test/recorder.rb
|
15
|
+
lib/test/reporters/abstract.rb
|
16
|
+
lib/test/reporters/abstract_hash.rb
|
17
|
+
lib/test/reporters/dotprogress.rb
|
18
|
+
lib/test/reporters/html.rb
|
19
|
+
lib/test/reporters/outline.rb
|
20
|
+
lib/test/reporters/progress.rb
|
21
|
+
lib/test/reporters/summary.rb
|
22
|
+
lib/test/reporters/tap.rb
|
23
|
+
lib/test/reporters/tapj.rb
|
24
|
+
lib/test/reporters/tapy.rb
|
25
|
+
lib/test/reporters/test.rb
|
26
|
+
lib/test/runner.rb
|
27
|
+
lib/test.rb
|
28
|
+
spec/01_test.md
|
29
|
+
spec/02_case.md
|
30
|
+
spec/applique/ruby-test.rb
|
31
|
+
test/basic_case.rb
|
32
|
+
PROFILE
|
33
|
+
LICENSE.txt
|
34
|
+
HISTORY.md
|
35
|
+
HISTORY.md.bak
|
36
|
+
README.md
|
37
|
+
VERSION
|
38
|
+
COPYING.rdoc
|
data/PROFILE
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
name : test
|
3
|
+
title : Ruby Test
|
4
|
+
summary: Ruby Universal Test Harness
|
5
|
+
created: 2011-07-23
|
6
|
+
|
7
|
+
description:
|
8
|
+
Ruby Test is a universal test harness for Ruby.
|
9
|
+
It can handle any compliant test framework,
|
10
|
+
even running tests from multiple frameworks
|
11
|
+
in a single pass.
|
12
|
+
|
13
|
+
authors:
|
14
|
+
- Thomas Sawyer <transfire@gmail.com>
|
15
|
+
|
16
|
+
requirements:
|
17
|
+
- ansi
|
18
|
+
- detroit (build)
|
19
|
+
- qed (test)
|
20
|
+
|
21
|
+
resources:
|
22
|
+
home: http://rubyworks.github.com/test
|
23
|
+
code: http://github.com/rubyworks/test
|
24
|
+
mail: http://groups.google.com/group/rubyworks-mailinglist
|
25
|
+
|
26
|
+
repositories:
|
27
|
+
upstream: git@github.com:rubyworks/test.git
|
28
|
+
|
29
|
+
copyrights:
|
30
|
+
- 2011 Thomas Sawyer, RubyWorks (FreeBSD)
|
31
|
+
|
data/README.md
ADDED
@@ -0,0 +1,110 @@
|
|
1
|
+
# Ruby Test
|
2
|
+
|
3
|
+
[Homepage](http://rubyworks.github.com/test) ·
|
4
|
+
[User Guide](http://wiki.github.com/rubyworks/test) ·
|
5
|
+
[Development](http://github.com/rubyworks/test) ·
|
6
|
+
[Issues](http://github.com/rubyworks/test/issues)
|
7
|
+
|
8
|
+
## Description
|
9
|
+
|
10
|
+
Ruby Test is a universal test harness for use by any Ruby test framework.
|
11
|
+
It defines a simple specification for compliance, which allows Ruby Test
|
12
|
+
to run the framework's tests, and even test across multiple frameworks
|
13
|
+
in a single pass.
|
14
|
+
|
15
|
+
## Specification
|
16
|
+
|
17
|
+
Ruby Test defines a straight-forward specification that any test framework can
|
18
|
+
easily support which allows Ruby Test to run the frameworks tests through a
|
19
|
+
single uniform user interface.
|
20
|
+
|
21
|
+
The universal access point for testing is the `$TEST_SUITE` global array. A test
|
22
|
+
framework need only add compliant test objects to `$TEST_SUITE`.
|
23
|
+
Ruby Test will iterate through these objects. If a test object responds to
|
24
|
+
`#call`, it is run as a test procedure. If it responds to `#each` it is iterated
|
25
|
+
over as a test case with each entry handled in the same manner. All test
|
26
|
+
objects must respond to `#to_s` so their description can be used in test
|
27
|
+
reports.
|
28
|
+
|
29
|
+
Any raised exception that responds to `#assertion?` in the affirmative is taken
|
30
|
+
to be a failed assertion rather than simply an error. Ruby Test extends the
|
31
|
+
Exception class to support this method for all exceptions.
|
32
|
+
|
33
|
+
A test framework may raise a `NotImplementedError` to have a test recorded
|
34
|
+
as "pending" --a _todo_ item to remind the developer of tests that still
|
35
|
+
need to be written. The `NotImplementedError` is a standard Ruby exception
|
36
|
+
and a subclass of `ScriptError`.
|
37
|
+
|
38
|
+
If the `NotImplmentedError` responds in the affirmative to `#assertion?` then
|
39
|
+
the test is taken to be a purposeful _omission_, rather than simply pending.
|
40
|
+
|
41
|
+
That is the crux of Ruby Test specification. Ruby Test supports some
|
42
|
+
additional features that can makes its usage even more convenient.
|
43
|
+
See the [Wiki](http://github.com/rubyworks/test/wiki) for further details.
|
44
|
+
|
45
|
+
|
46
|
+
## Usage
|
47
|
+
|
48
|
+
There are a few ways to run tests. First, there is a command line tool:
|
49
|
+
|
50
|
+
$ ruby-test
|
51
|
+
|
52
|
+
The command line tool takes various options, use `--help` to see them.
|
53
|
+
Be sure to load in your test framework or framework's Ruby Test adapter.
|
54
|
+
|
55
|
+
Preconfigurations can be defined in a `.test` file, e.g.
|
56
|
+
|
57
|
+
Test.run 'default' do |r|
|
58
|
+
r.format = 'progress'
|
59
|
+
r.requires << 'lemon'
|
60
|
+
r.files << 'test/*_case.rb'
|
61
|
+
end
|
62
|
+
|
63
|
+
There is a 'test/autorun.rb' library script can be loaded which creates an
|
64
|
+
`at_exit` procedure.
|
65
|
+
|
66
|
+
$ ruby -rtest/autorun
|
67
|
+
|
68
|
+
And there is a Rake task.
|
69
|
+
|
70
|
+
require 'test/rake'
|
71
|
+
|
72
|
+
A Detroit plugin is in the works and should be available soon.
|
73
|
+
|
74
|
+
|
75
|
+
## Installation
|
76
|
+
|
77
|
+
Ruby Test is available as Gem package.
|
78
|
+
|
79
|
+
$ gem install test
|
80
|
+
|
81
|
+
|
82
|
+
## Requirements
|
83
|
+
|
84
|
+
Ruby test uses the [ANSI](http://rubyworks.github.com/ansi) gem for color output.
|
85
|
+
|
86
|
+
Because of the "foundational" nature of this library we will look at removing
|
87
|
+
this dependencies for future versions, but for early development the
|
88
|
+
requirements does the job and does it well.
|
89
|
+
|
90
|
+
|
91
|
+
## Development
|
92
|
+
|
93
|
+
Ruby Test is still a "nuby" gem. Please feel OBLIGATED to help improve it ;-)
|
94
|
+
|
95
|
+
Ruby Test is a [RubyWorks](http://rubyworks.github.com) project. If you can't
|
96
|
+
contribue code, you can still help out by contributing to our development fund.
|
97
|
+
|
98
|
+
|
99
|
+
## Reference Material
|
100
|
+
|
101
|
+
[1] [Standard Definition Of Unit Test](http://c2.com/cgi/wiki?StandardDefinitionOfUnitTest)
|
102
|
+
|
103
|
+
|
104
|
+
## Copyrights
|
105
|
+
|
106
|
+
Copyright (c) 2011 Thomas Sawyer, Rubyworks
|
107
|
+
|
108
|
+
Made available according to the terms of the <b>FreeBSD license</b>.
|
109
|
+
|
110
|
+
See COPYING.rdoc for details.
|