Overview
Version 7 (Rich Morin, 06/17/2009 03:10 PM)
| 1 | 1 | h1. Overview |
|
|---|---|---|---|
| 2 | 2 | Brian Ford | |
| 3 | 6 | Brian Ford | The RubySpec project aims to write a complete executable specification for the "Ruby":http://ruby-lang.org programming language that is syntax-compatible with "RSpec":http://rspec.info. RSpec is essentially a DSL (domain-specific language) for describing the behavior of code. This project contains specs that describe Ruby language syntax, "core library":http://ruby-doc.org/core classes, and "standard library":http://ruby-doc.org/stdlib classes. |
| 4 | 2 | Brian Ford | |
| 5 | 2 | Brian Ford | The specs generally serve two purposes: 1) to drive development, and 2) as a verification mechanism. These goal can sometimes be at odds. During development, the code and specs evolve together. For verification, it is desirable to have a highly stable set of specs that ideally have been audited for correctness. The specs have been extensively used and developed "BDD":http://behaviour-driven.org/ style in the "Rubinius":http://rubini.us project for almost 1.5 years with numerous contributions by other projects like "JRuby":http://jruby.codehaus.org/. Consequently, the specs have attained a high degree of stability. However, there are a number of core library classes and numerous standard library classes for which specs still need to be written. |
| 6 | 2 | Brian Ford | |
| 7 | 2 | Brian Ford | The following documents describe how the Rubinius specs are organized, the style used to write them, and special measures (guards) used to write a single body of specs that accommodates numerous different Ruby implementations. |
| 8 | 2 | Brian Ford | |
| 9 | 3 | Brian Ford | * [[Getting Started]] -- Get up and running with MSpec and the RubySpec files |
| 10 | 5 | Brian Ford | * [[Ruby 1.9 Issues]] -- Fixing the RubySpecs for Ruby 1.9. |
| 11 | 3 | Brian Ford | * [[Organization]] -- Where to find what you are looking for |
| 12 | 3 | Brian Ford | * [[Style Guide]] -- Rules to follow while writing or fixing specs |
| 13 | 3 | Brian Ford | * [[Guards]] -- Understand how versions, platforms, and implementations play well together |
| 14 | 7 | Rich Morin | * "Runners":/wiki/mspec/Runners -- Detailed help for all the MSpec runner scripts |
| 15 | 3 | Brian Ford | * [[Contributing]] -- How to get involved improving the RubySpecs |
