{"id":13879679,"url":"https://github.com/ruby/mspec","last_synced_at":"2025-04-05T01:05:35.458Z","repository":{"id":797305,"uuid":"496852","full_name":"ruby/mspec","owner":"ruby","description":"RSpec-like test runner for the Ruby Spec Suite","archived":false,"fork":false,"pushed_at":"2025-02-05T11:41:22.000Z","size":1617,"stargazers_count":60,"open_issues_count":5,"forks_count":64,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-03-29T00:06:31.557Z","etag":null,"topics":["mspec","ruby"],"latest_commit_sha":null,"homepage":"https://github.com/ruby/spec","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mmucklo/krumo","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2010-02-01T02:15:24.000Z","updated_at":"2025-02-05T11:41:24.000Z","dependencies_parsed_at":"2023-07-07T00:31:51.864Z","dependency_job_id":"575edb23-4554-41bf-9b93-b8f54bd26a54","html_url":"https://github.com/ruby/mspec","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Fmspec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Fmspec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Fmspec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby%2Fmspec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby","download_url":"https://codeload.github.com/ruby/mspec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271525,"owners_count":20911587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mspec","ruby"],"created_at":"2024-08-06T08:02:28.704Z","updated_at":"2025-04-05T01:05:35.441Z","avatar_url":"https://github.com/ruby.png","language":"Ruby","readme":"## Overview\n\nMSpec is a specialized framework that is syntax-compatible with RSpec 2 for\nbasic things like `describe`, `it` blocks and `before`, `after` actions.\nMSpec contains additional features that assist in writing specs for\nRuby implementations in [ruby/spec](https://github.com/ruby/spec).\n\nMSpec attempts to use the simplest Ruby language features so that beginning\nRuby implementations can run the Ruby specs. For example, no file from the\nstandard library or RubyGems is necessary to run MSpec.\n\nMSpec is not intended as a replacement for RSpec. MSpec attempts to provide a\nsubset of RSpec's features in some cases and a superset in others. It does not\nprovide all the matchers, for instance.\n\nHowever, MSpec provides several extensions to facilitate writing the Ruby\nspecs in a manner compatible with multiple Ruby implementations.\n\n  1. MSpec offers a set of guards to control execution of the specs. These\n     guards not only enable or disable execution but also annotate the specs\n     with additional information about why they are run or not run.\n\n  2. MSpec provides a different shared spec implementation specifically\n     designed to ease writing specs for the numerous aliased methods in Ruby.\n\n  3. MSpec provides various helper methods to simplify some specs, for\n     example, creating temporary file names.\n\n  4. MSpec has several specialized runner scripts that includes a\n     configuration facility with a default project file and user-specific\n     overrides.\n\n  5. MSpec support \"tagging\", that is excluding specs known as failing on\n     a particular Ruby implementation, and automatically adding and removing tags\n     while running the specs.\n\n## Requirements\n\nMSpec requires Ruby 2.6 or more recent.\n\n## Bundler\n\nA Gemfile is provided. Use Bundler to install gem dependencies. To install\nBundler, run the following:\n\n```bash\ngem install bundler\n```\n\nTo install the gem dependencies with Bundler, run the following:\n\n```bash\nruby -S bundle install\n```\n\n## Development\n\nUse RSpec to run the MSpec specs. There are no plans currently to make the\nMSpec specs runnable by MSpec: https://github.com/ruby/mspec/issues/19.\n\nAfter installing the gem dependencies, the specs can be run as follows:\n\n```bash\nruby -S bundle exec rspec\n```\n\nTo run an individual spec file, use the following example:\n\n```bash\nruby -S bundle exec rspec spec/helpers/ruby_exe_spec.rb\n```\n\n## Documentation\n\nSee [CONTRIBUTING.md](https://github.com/ruby/spec/blob/master/CONTRIBUTING.md) in ruby/spec\nfor a list of matchers and how to use `mspec`.\n\n## Source Code\n\nSee https://github.com/ruby/mspec\n\n## License\n\nSee the LICENSE in the source code.\n","funding_links":[],"categories":["Ruby"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruby%2Fmspec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruby%2Fmspec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruby%2Fmspec/lists"}