applidium / spec_tracker

Spec tracker helps tracking tests that validate specification use cases

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SpecTracker

The principle of the spec tracker is simple. Parse specifications, match them with JUnit reports then display the corresponding traceability matrix.

Installation

Add this line to your application's Gemfile:

gem 'spec_tracker'

And then execute:

$ bundle

Or install it yourself as:

$ gem install spec_tracker

Usage

Configuration

Parameter CLI Parameter Default value Description
spec_path spec-path specifications Path to the specification file(s). Expects a relative path to a file or a director
spec_type spec-type csv Type of specification files. Available values : csv, gherkin
scenario_id_header scenario-id-header Scenario ID Header of the CSV column that contains the scenario names
scenario_name_header scenario-name-header Name/Rule Header of the CSV column that contains the scenario IDs
scenario_id_regex scenario-id-regex \[([a-zA-Z\-]+)\] Regexp to find scenario IDs in the test names. Default is kebab-case words
test_report_path test-report-path test/reports Path to the test reports. Expects a relative path to a file or a directory
locale locale fr Locale for text output. Available values : fr, en

Test result symbols

Symbol Meaning
There is a test for this scenario and it PASSES
😶 No tests were found for this scenario
There is a test for this scenario and if FAILS
There is a SKIPPED test for this scenario

CLI

$ spec_tracker report
+---------------------------+-------------------------------------+----------------+
|                            some_specification_file.csv          |                |
+---------------------------+-------------------------------------+----------------+
| Identifiant du scénario   | Nom du scénario                     | Statut du test |
+---------------------------+-------------------------------------+----------------+
|    sign-up                | [MyProject] Scenario 4.1.1          |     ✅         |
|    login                  | [MyProject] Scenario 4.2.1          |     ✅         |
|    logout                 | [MyProject] Scenario 4.3.1          |     😶         |
|    delete-account         | [MyProject] Scenario 5.1.1          |     ❌         |
|    news-feed              | [MyProject] Scenario 5.1.2          |     ✅         |
|    like-news              | [MyProject] Scenario 5.1.3          |     ✅         |
|    unlike-news            | [MyProject] Scenario 5.1.4          |     ❌         |
|    topics                 | [MyProject] Scenario 5.1.5          |     😶         |
|    subscribe-topic        | [MyProject] Scenario 5.1.6          |     😶         |
|    unsubscribe-topic      | [MyProject] Scenario 6.1.1          |     😶         |
|    account-information    | [MyProject] Scenario 6.1.2          |     😶         |
|    reset-password         | [MyProject] Scenario 6.1.3          |     😶         |
+---------------------------+-------------------------------------+----------------+
|    Progression            |                                     |     33%        |
+---------------------------+-------------------------------------+----------------+

💡 v0.1.0 users can still print reports with the following command : spec_tracker report --scenario_id_regex="#((\d\.?)*\d)" --scenario-id-header="#Scenario"

Display report help :

$ spec_tracker help report

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/applidium/spec_tracker.

About

Spec tracker helps tracking tests that validate specification use cases

License:Other


Languages

Language:Ruby 92.6%Language:Gherkin 6.9%Language:Shell 0.5%