rspec_test
Ruby Specification (RSpec) tests run through Once.
Start Here
The selected ruby interpreter must be able to load rspec/core. Use the Ruby environment already managed by the project. The interpreter may be a name on the executable search path, an absolute path, or a workspace-relative path. A common direct installation is:
gem install rspecRetrieve the runnable starter when you want a complete declaration and sample specifications:
once query example rspec_test rspec-test-minimal --format jsonCopy the declaration below into once.toml, adjust srcs and the Ruby environment for the project, then establish discovery and run the file batches:
once test tests --format json
once query test-manifest tests --format json
once test tests --jobs 4 --format jsonThe first command runs the complete target. Later runs can use the resulting manifest for automatic batching and exact selection. See Testing and Scheduling for affected plans, case-level batching, and exact unit commands.
Description
rspec_test invokes the Ruby Specification core runner with its structured formatter, converts examples into stable target-qualified identifiers, and writes normalized Once results. Exact execution passes the native example identifier back to the runner.
Automatic batching uses one batch per specification file by default. Set batching to case for individual examples, or target for one target batch. A complete discovery run is required before smaller batches are planned.
Attributes
| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
ruby | string | no | ruby | Ruby interpreter name, absolute path, or workspace-relative path that can load the Ruby Specification library |
config | list<string> | no | Gemfile, Gemfile.lock | Dependency and runner configuration inputs |
data | list<string> | no | [] | Runtime data and support inputs |
args | list<string> | no | [] | Additional runner arguments |
env | map<string, string> | no | {} | Explicit test environment variables |
env_inherit | list<string> | no | [] | Host environment variables inherited by name |
batching | string | no | file | Automatic granularity: file, case, or target |
labels | list<string> | no | [] | Labels exposed through test discovery |
timeout_ms | int | no | empty | Optional timeout in milliseconds |
Dependency Edges
deps names targets whose changes should select this test target.
Providers and Capabilities
The target emits once_test_info and exposes test with the default, test_results, and logs output groups.
Example
[[target]]
name = "tests"
kind = "rspec_test"
srcs = ["spec/**/*_spec.rb"]
[target.attrs]
env_inherit = ["GEM_HOME", "GEM_PATH"]List helper files and other runtime inputs in data when they are outside the source patterns.
