1573
Comment:
|
1714
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
* unit testing - comprehensive testing, including cornerstone cases * smoke testing - critical functionality |
* unit testing * comprehensive testing, including cornerstone cases * written in python files (no doctest) * smoke/functional/integration testing * testing normal use cases, simple or comples * written using doctest format |
Line 27: | Line 31: |
1. API * ??? |
Writing tests
For each part of an application there are 2 level of testing:
- unit testing
- comprehensive testing, including cornerstone cases
- written in python files (no doctest)
- smoke/functional/integration testing
- testing normal use cases, simple or comples
- written using doctest format
1. Model
- Unit testing
Files locate in lib/lp/<application>/scripts/tests
- Smoke testing
Files locate in lib/lp/<application>/doc
1. View
- Unit testing
Files locate in lib/lp/<application>/browser/tests
- Smoke testing
Files locate in lib/lp/<application>/stories
More details: PageTests
1. Javascript
- Unit testing
More details: TestingJavaScript JavascriptUnitTesting
- Smoke testing
Files locate in lip/lp/<application>/windmill (if written in Python) and lib/canonical/launchpad/windmill/jstests
(if written in JS)
More details: Windmill
1. Scripts
Files locate in lib/lp/<application>/scripts/tests
1. API
- ???
Testing Your Launchpad Changes
This page is very much still in progress.
The normal pattern for testing your changes is to run the tests you think will be affected locally, and then (possibly just before submission) run all the tests in the cloud before landing your changes on trunk.
To run the tests, you run the ./bin/test script, which is produced by make build.
You can see all the options you have by running ./bin/test --help, but usually you will run ./bin/test -vvct $pattern where $pattern is a regular expression that is used to filter the tests that will be run.