Replace teaspoon references with Karma
This commit is contained in:
parent
4a9258371b
commit
49c4059a32
4 changed files with 15 additions and 22 deletions
|
@ -250,23 +250,17 @@ information.
|
|||
|
||||
### Running frontend tests
|
||||
|
||||
`rake teaspoon` runs the frontend-only (JavaScript) tests.
|
||||
`rake karma` runs the frontend-only (JavaScript) tests.
|
||||
It consists of two subtasks:
|
||||
|
||||
- `rake teaspoon:fixtures` (re-)generates fixtures
|
||||
- `rake teaspoon:tests` actually executes the tests
|
||||
- `rake karma:fixtures` (re-)generates fixtures
|
||||
- `rake karma:tests` actually executes the tests
|
||||
|
||||
As long as the fixtures don't change, `rake teaspoon:tests` is sufficient
|
||||
As long as the fixtures don't change, `rake karma:tests` is sufficient
|
||||
(and saves you some time).
|
||||
|
||||
If you need to debug your tests and/or application code while they're
|
||||
running, navigate to [localhost:3000/teaspoon](http://localhost:3000/teaspoon)
|
||||
in your browser, open DevTools, and run tests for individual files by clicking
|
||||
on them. This is also much faster than setting up and running tests from the
|
||||
command line.
|
||||
|
||||
Please note: Not all of the frontend fixtures are generated. Some are still static
|
||||
files. These will not be touched by `rake teaspoon:fixtures`.
|
||||
files. These will not be touched by `rake karma:fixtures`.
|
||||
|
||||
## Design Patterns
|
||||
|
||||
|
@ -370,7 +364,7 @@ For our currently-supported browsers, see our [requirements][requirements].
|
|||
### Spec errors due to use of ES6 features in `.js` files
|
||||
|
||||
If you see very generic JavaScript errors (e.g. `jQuery is undefined`) being
|
||||
thrown in Teaspoon, Spinach, or Rspec tests but can't reproduce them manually,
|
||||
thrown in Karma, Spinach, or Rspec tests but can't reproduce them manually,
|
||||
you may have included `ES6`-style JavaScript in files that don't have the
|
||||
`.js.es6` file extension. Either use ES5-friendly JavaScript or rename the file
|
||||
you're working in (`git mv <file.js> <file.js.es6>`).
|
||||
|
|
|
@ -17,14 +17,14 @@ Note: `db:setup` calls `db:seed` but this does nothing.
|
|||
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 teaspoon` to run the teaspoon test 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: Both `rake spinach` and `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
|
||||
full test suite is passed.
|
||||
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
|
||||
full test suite is passed.
|
||||
|
||||
Note: You can't run `rspec .` since this will try to run all the `_spec.rb`
|
||||
files it can find, also the ones in `/tmp`
|
||||
|
|
|
@ -31,9 +31,8 @@ GitLab uses [factory_girl] as a test fixture replacement.
|
|||
|
||||
## JavaScript
|
||||
|
||||
GitLab uses [Teaspoon] to run its [Jasmine] JavaScript specs. They can be run on
|
||||
the command line via `bundle exec teaspoon`, or via a web browser at
|
||||
`http://localhost:3000/teaspoon` when the Rails server is running.
|
||||
GitLab uses [Karma] to run its [Jasmine] JavaScript specs. They can be run on
|
||||
the command line via `bundle exec karma`.
|
||||
|
||||
- JavaScript tests live in `spec/javascripts/`, matching the folder structure of
|
||||
`app/assets/javascripts/`: `app/assets/javascripts/behaviors/autosize.js.es6` has a corresponding
|
||||
|
@ -51,7 +50,7 @@ the command line via `bundle exec teaspoon`, or via a web browser at
|
|||
[`Notification`](https://developer.mozilla.org/en-US/docs/Web/API/notification),
|
||||
which will have to be stubbed.
|
||||
|
||||
[Teaspoon]: https://github.com/modeset/teaspoon
|
||||
[Karma]: https://github.com/karma-runner/karma
|
||||
[Jasmine]: https://github.com/jasmine/jasmine
|
||||
|
||||
## RSpec
|
||||
|
|
|
@ -40,7 +40,7 @@ require('~/behaviors/quick_submit');
|
|||
expect($('input[type=submit]')).toBeDisabled();
|
||||
return expect($('button[type=submit]')).toBeDisabled();
|
||||
});
|
||||
// We cannot stub `navigator.userAgent` for CI's `rake teaspoon` task, so we'll
|
||||
// We cannot stub `navigator.userAgent` for CI's `rake karma` task, so we'll
|
||||
// only run the tests that apply to the current platform
|
||||
if (navigator.userAgent.match(/Macintosh/)) {
|
||||
it('responds to Meta+Enter', function() {
|
||||
|
|
Loading…
Reference in a new issue