Merge pull request #14072 from owncloud/add-files-external-test-readme
add readme for files external tests
This commit is contained in:
commit
e12b982dfc
1 changed files with 58 additions and 0 deletions
58
apps/files_external/tests/README.md
Normal file
58
apps/files_external/tests/README.md
Normal file
|
@ -0,0 +1,58 @@
|
|||
# How to run the files external unit tests
|
||||
|
||||
## Components
|
||||
|
||||
The files_external relies - as the name already says - on external file system
|
||||
providers. To test easily against such a provider we use some scripts to setup
|
||||
a provider (and of course also cleanup that provider). Those scripts can be
|
||||
found in the `tests/env` folder of the files_external app.
|
||||
|
||||
### Naming Conventions
|
||||
|
||||
The current implementation supports a script that starts with `start-` for the
|
||||
setup step which is executed before the PHPUnit run and an optional script
|
||||
starting with `stop-` (and have the same ending as the start script) to cleanup
|
||||
the provider. For example: `start-webdav-ownCloud.sh` and
|
||||
`stop-webdav-ownCloud.sh`. As a second requirement after this prefix there has
|
||||
to be the name of the backend test suite. In the above example the test suite
|
||||
`tests/backends/webdav.php` is used. The last part is a name that can be chosen
|
||||
freely.
|
||||
|
||||
## Hands-on way of unit test execution
|
||||
|
||||
Run all files_external unit tests by invoking the following in the ownCloud
|
||||
core root folder:
|
||||
|
||||
./autotest-external.sh
|
||||
|
||||
This script supports to get passed a database as first argument:
|
||||
|
||||
./autotest-external.sh sqlite
|
||||
|
||||
You can also pass the name of the external file system provider as a second
|
||||
argument that should be executed. This is the name of the script without the
|
||||
prefix `start-` (or `stop-`) and without the extension `.sh` from the above
|
||||
mentioned components in `test/env`. So if you want to start the WebDAV backend
|
||||
tests against an ownCloud instance you can run following:
|
||||
|
||||
./autotest-external.sh sqlite webdav-ownCloud
|
||||
|
||||
This runs the script `start-webdav-ownCloud.sh` from the `tests/env` folder,
|
||||
then runs the unit test suite from `backends/webdav.php` (because the middle part of
|
||||
the name of the script is `webdav`) and finally tries to call
|
||||
`stop-webdav-ownCloud.sh` for cleanup purposes.
|
||||
|
||||
## The more manual way of unit test execution
|
||||
|
||||
If you want to debug your external storage provider, you maybe don't want to
|
||||
fire it up, execute the unit tests and clean everything up for each debugging
|
||||
step. In this case you can simply start the external storage provider instance
|
||||
and run the unit test multiple times against the instance for debugging purposes.
|
||||
To do this you just need to follow these steps (from within
|
||||
`apps/files_external/tests`):
|
||||
|
||||
1. run the start step (`env/start-BACKEND-NAME.sh`) or start the environment by
|
||||
hand (i.e. setting up an instance manually in a virtual box)
|
||||
2. run the unit tests with following command (you can repeat that step multiple times):
|
||||
`phpunit --configuration ../../../tests/phpunit-autotest-external.xml backends/BACKEND.php`
|
||||
3. call the cleanup script (`env/stop-BACKEND-NAME.sh`) or cleanup by hand
|
Loading…
Reference in a new issue