Clean up docs
This commit is contained in:
parent
f61c37c27d
commit
c3882c2611
8 changed files with 6 additions and 47 deletions
|
@ -82,7 +82,7 @@ Example of response
|
|||
"artifacts_file": null,
|
||||
"finished_at": "2015-12-24T17:54:24.921Z",
|
||||
"id": 6,
|
||||
"name": "spinach:other",
|
||||
"name": "rspec:other",
|
||||
"pipeline": {
|
||||
"id": 6,
|
||||
"ref": "master",
|
||||
|
@ -196,7 +196,7 @@ Example of response
|
|||
"artifacts_file": null,
|
||||
"finished_at": "2015-12-24T17:54:24.921Z",
|
||||
"id": 6,
|
||||
"name": "spinach:other",
|
||||
"name": "rspec:other",
|
||||
"pipeline": {
|
||||
"id": 6,
|
||||
"ref": "master",
|
||||
|
|
|
@ -11,7 +11,7 @@ Available `RAILS_ENV`
|
|||
|
||||
- `production` (generally not for your main GDK db, but you may need this for e.g. omnibus)
|
||||
- `development` (this is your main GDK db)
|
||||
- `test` (used for tests like rspec and spinach)
|
||||
- `test` (used for tests like rspec)
|
||||
|
||||
|
||||
## Nuke everything and start over
|
||||
|
|
|
@ -65,12 +65,11 @@ To make sure that indices still fit. You could find great details in:
|
|||
## Run tests
|
||||
|
||||
In order to run the test you can use the following commands:
|
||||
- `rake spinach` to run the spinach suite
|
||||
- `rake spec` to run the rspec suite
|
||||
- `rake karma` to run the karma test suite
|
||||
- `rake gitlab:test` to run all the tests
|
||||
|
||||
Note: Both `rake spinach` and `rake spec` takes significant time to pass.
|
||||
Note: `rake spec` takes significant time to pass.
|
||||
Instead of running full test suite locally you can save a lot of time by running
|
||||
a single test or directory related to your changes. After you submit merge request
|
||||
CI will run full test suite for you. Green CI status in the merge request means
|
||||
|
@ -82,12 +81,10 @@ files it can find, also the ones in `/tmp`
|
|||
To run a single test file you can use:
|
||||
|
||||
- `bin/rspec spec/controllers/commit_controller_spec.rb` for a rspec test
|
||||
- `bin/spinach features/project/issues/milestones.feature` for a spinach test
|
||||
|
||||
To run several tests inside one directory:
|
||||
|
||||
- `bin/rspec spec/requests/api/` for the rspec tests if you want to test API only
|
||||
- `bin/spinach features/profile/` for the spinach tests if you want to test only profile pages
|
||||
|
||||
### Speed-up tests, rake tasks, and migrations
|
||||
|
||||
|
|
|
@ -12,8 +12,7 @@ Here are some things to keep in mind regarding test performance:
|
|||
- `FactoryBot.build(...)` and `.build_stubbed` are faster than `.create`.
|
||||
- Don't `create` an object when `build`, `build_stubbed`, `attributes_for`,
|
||||
`spy`, or `double` will do. Database persistence is slow!
|
||||
- Don't mark a feature as requiring JavaScript (through `@javascript` in
|
||||
Spinach or `:js` in RSpec) unless it's _actually_ required for the test
|
||||
- Don't mark a feature as requiring JavaScript (through `:js` in RSpec) unless it's _actually_ required for the test
|
||||
to be valid. Headless browser testing is slow!
|
||||
|
||||
[parallelization]: ci.md#test-suite-parallelization-on-the-ci
|
||||
|
|
|
@ -24,8 +24,7 @@ Our current CI parallelization setup is as follows:
|
|||
uploaded to S3.
|
||||
|
||||
After that, the next pipeline will use the up-to-date
|
||||
`knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` file. The same strategy
|
||||
is used for Spinach tests as well.
|
||||
`knapsack/${CI_PROJECT_NAME}/rspec_report-master.json` file.
|
||||
|
||||
### Monitoring
|
||||
|
||||
|
|
|
@ -280,26 +280,6 @@ describe "Admin::AbuseReports", :js do
|
|||
end
|
||||
```
|
||||
|
||||
### Spinach errors due to missing JavaScript
|
||||
|
||||
NOTE: **Note:** Since we are discouraging the use of Spinach when writing new
|
||||
feature tests, you shouldn't ever need to use this. This information is kept
|
||||
available for legacy purposes only.
|
||||
|
||||
In Spinach, the JavaScript driver is enabled differently. In the `*.feature`
|
||||
file for the failing spec, add the `@javascript` flag above the Scenario:
|
||||
|
||||
```
|
||||
@javascript
|
||||
Scenario: Developer can approve merge request
|
||||
Given I am a "Shop" developer
|
||||
And I visit project "Shop" merge requests page
|
||||
And merge request 'Bug NS-04' must be approved
|
||||
And I click link "Bug NS-04"
|
||||
When I click link "Approve"
|
||||
Then I should see approved merge request "Bug NS-04"
|
||||
```
|
||||
|
||||
[jasmine-focus]: https://jasmine.github.io/2.5/focused_specs.html
|
||||
[jasmine-jquery]: https://github.com/velesin/jasmine-jquery
|
||||
[karma]: http://karma-runner.github.io/
|
||||
|
|
|
@ -72,21 +72,6 @@ Everything you should know about how to run end-to-end tests using
|
|||
|
||||
---
|
||||
|
||||
## Spinach (feature) tests
|
||||
|
||||
GitLab [moved from Cucumber to Spinach](https://github.com/gitlabhq/gitlabhq/pull/1426)
|
||||
for its feature/integration tests in September 2012.
|
||||
|
||||
As of March 2016, we are [trying to avoid adding new Spinach
|
||||
tests](https://gitlab.com/gitlab-org/gitlab-ce/issues/14121) going forward,
|
||||
opting for [RSpec feature](#features-integration) specs.
|
||||
|
||||
Adding new Spinach scenarios is acceptable _only if_ the new scenario requires
|
||||
no more than one new `step` definition. If more than that is required, the
|
||||
test should be re-implemented using RSpec instead.
|
||||
|
||||
---
|
||||
|
||||
[Return to Development documentation](../README.md)
|
||||
|
||||
[^1]: /ci/yaml/README.html#dependencies
|
||||
|
|
|
@ -81,7 +81,6 @@ possible).
|
|||
| Tests path | Testing engine | Notes |
|
||||
| ---------- | -------------- | ----- |
|
||||
| `spec/features/` | [Capybara] + [RSpec] | If your spec has the `:js` metadata, the browser driver will be [Poltergeist], otherwise it's using [RackTest]. |
|
||||
| `features/` | Spinach | Spinach tests are deprecated, [you shouldn't add new Spinach tests](#spinach-feature-tests). |
|
||||
|
||||
### Consider **not** writing a system test!
|
||||
|
||||
|
|
Loading…
Reference in a new issue