Skip to content

Commit

Permalink
Merge pull request #254 from fooki/master
Browse files Browse the repository at this point in the history
Parameterize the pattern for test locations
  • Loading branch information
BookOfGreg committed Nov 17, 2019
2 parents e6bfba2 + 3cd9d38 commit 63f0196
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
9 changes: 9 additions & 0 deletions README.md
Expand Up @@ -339,6 +339,15 @@ end

__NOTE__: If you do change this, you'll also need to update the rswag-api.rb initializer (assuming you're using rswag-api). More on this later.

### Input Location for Rspec Tests ###

By default, rswag will search for integration tests in _spec/requests_, _spec/api_ and _spec/integration_. If you want to use tests from other locations, provide the PATTERN argument to rake:

```ruby
# search for tests in spec/swagger
rake rswag:specs:swaggerize PATTERN="spec/swagger/**/*_spec.rb"
```

### Referenced Parameters and Schema Definitions ###

Swagger allows you to describe JSON structures inline with your operation descriptions OR as referenced globals. For example, you might have a standard response structure for all failed operations. Rather than repeating the schema in every operation spec, you can define it globally and provide a reference to it in each spec:
Expand Down
6 changes: 4 additions & 2 deletions rswag-specs/lib/tasks/rswag-specs_tasks.rake
Expand Up @@ -5,7 +5,10 @@ namespace :rswag do

desc 'Generate Swagger JSON files from integration specs'
RSpec::Core::RakeTask.new('swaggerize') do |t|
t.pattern = 'spec/requests/**/*_spec.rb, spec/api/**/*_spec.rb, spec/integration/**/*_spec.rb'
t.pattern = ENV.fetch(
'PATTERN',
'spec/requests/**/*_spec.rb, spec/api/**/*_spec.rb, spec/integration/**/*_spec.rb'
)

# NOTE: rspec 2.x support
if Rswag::Specs::RSPEC_VERSION > 2 && Rswag::Specs.config.swagger_dry_run
Expand All @@ -18,4 +21,3 @@ namespace :rswag do
end

task :rswag => ['rswag:specs:swaggerize']

0 comments on commit 63f0196

Please sign in to comment.