Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
4fed8ce9c8
commit
081e00122e
|
@ -615,10 +615,33 @@ job:
|
|||
```
|
||||
|
||||
Sometimes, `script` commands must be wrapped in single or double quotes.
|
||||
For example, commands that contain a colon (`:`) must be wrapped in quotes.
|
||||
For example, commands that contain a colon (`:`) must be wrapped in single quotes (`'`).
|
||||
The YAML parser needs to interpret the text as a string rather than
|
||||
a "key: value" pair. Be careful when using special characters:
|
||||
`:`, `{`, `}`, `[`, `]`, `,`, `&`, `*`, `#`, `?`, `|`, `-`, `<`, `>`, `=`, `!`, `%`, `@`, `` ` ``.
|
||||
a "key: value" pair.
|
||||
|
||||
For example, this script uses a colon:
|
||||
|
||||
```yaml
|
||||
job:
|
||||
script:
|
||||
- curl --request POST --header 'Content-Type: application/json' "https://gitlab/api/v4/projects"
|
||||
```
|
||||
|
||||
To be considered valid YAML, you must wrap the entire command in single quotes. If
|
||||
the command already uses single quotes, you should change them to double quotes (`"`)
|
||||
if possible:
|
||||
|
||||
```yaml
|
||||
job:
|
||||
script:
|
||||
- 'curl --request POST --header "Content-Type: application/json" "https://gitlab/api/v4/projects"'
|
||||
```
|
||||
|
||||
You can verify the syntax is valid with the [CI Lint](../lint.md) tool.
|
||||
|
||||
Be careful when using these special characters as well:
|
||||
|
||||
- `{`, `}`, `[`, `]`, `,`, `&`, `*`, `#`, `?`, `|`, `-`, `<`, `>`, `=`, `!`, `%`, `@`, `` ` ``.
|
||||
|
||||
If any of the script commands return an exit code other than zero, the job
|
||||
fails and further commands are not executed. Store the exit code in a variable to
|
||||
|
|
|
@ -230,7 +230,7 @@ They're useful to test permissions, redirections, what view is rendered etc.
|
|||
|
||||
| Code path | Tests path | Testing engine | Notes |
|
||||
| --------- | ---------- | -------------- | ----- |
|
||||
| `app/controllers/` | `spec/controllers/` | RSpec | For N+1 tests, use [request specs](../query_recorder.md#use-request-specs-instead-of-controller-specs) |
|
||||
| `app/controllers/` | `spec/requests/`, `spec/controllers` | RSpec | Request specs are preferred over legacy controller specs. |
|
||||
| `app/mailers/` | `spec/mailers/` | RSpec | |
|
||||
| `lib/api/` | `spec/requests/api/` | RSpec | |
|
||||
| `app/assets/javascripts/` | `spec/javascripts/`, `spec/frontend/` | Karma & Jest | [More details below](#frontend-integration-tests) |
|
||||
|
@ -310,6 +310,8 @@ graph RL
|
|||
|
||||
### About controller tests
|
||||
|
||||
GitLab is [transitioning from controller specs to request specs](https://gitlab.com/groups/gitlab-org/-/epics/5076).
|
||||
|
||||
In an ideal world, controllers should be thin. However, when this is not the
|
||||
case, it's acceptable to write a system or feature test without JavaScript instead
|
||||
of a controller test. Testing a fat controller usually involves a lot of stubbing, such as:
|
||||
|
@ -318,7 +320,7 @@ of a controller test. Testing a fat controller usually involves a lot of stubbin
|
|||
controller.instance_variable_set(:@user, user)
|
||||
```
|
||||
|
||||
and use methods which are deprecated in Rails 5 ([#23768](https://gitlab.com/gitlab-org/gitlab/-/issues/16260)).
|
||||
and use methods [deprecated in Rails 5](https://gitlab.com/gitlab-org/gitlab/-/issues/16260).
|
||||
|
||||
### About Karma
|
||||
|
||||
|
|
Loading…
Reference in New Issue