mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
169 lines
4.5 KiB
Markdown
169 lines
4.5 KiB
Markdown
This is a short description how to run tests
|
|
============================================
|
|
|
|
Run tests from maven
|
|
--------------------
|
|
|
|
Just type `mvn test` - it will run the whole test suite with the settings
|
|
from `src/test/resources/ebean.properties`.
|
|
|
|
Run tests from eclipse
|
|
----------------------
|
|
|
|
Running tests requires, that the classes are enhanced. By default, the
|
|
`BaseTestCase` tries to load the enhancer-agent in a very early stage. This
|
|
also works for most test cases, but it does not work if you try to run a
|
|
complete test-suite, as classes that are loaded before the enhancer-agent
|
|
kicks in will not get enhanced. To solve this problem, you need either the
|
|
[Eclipse-Enhancer-Plugin](https://github.com/ebean-orm-tools/ebean-eclipse-enhancer)
|
|
or add the agent to your JVM arguments (Preferences->Installed JREs) or to
|
|
your run configuration:
|
|
`-javaagent:<USER_HOME>/.m2/repository/io/ebean/ebean-agent/<VERSION>/ebean-agent-<VERSION>.jar=debug=0`
|
|
|
|
|
|
Platform Tests
|
|
==============
|
|
|
|
By default, the `h2` platform is used. To test a different platform, add
|
|
`-Ddatasource.default=xxx` to your maven command or JVM arguments.
|
|
|
|
'h2' platform
|
|
-------------
|
|
|
|
Reqires no setup
|
|
|
|
run: `mvn clean test`
|
|
|
|
Current status: PASS
|
|
Tests run: 1986, Failures: 0, Errors: 0, Skipped: 16
|
|
|
|
'pg' platform
|
|
-------------
|
|
|
|
Reqirements
|
|
- a locally installed PostgreSQL server with PostGis.
|
|
- Create a user "unit" with password "unit" and a database "unit"
|
|
- Give the user all permissions to that db
|
|
|
|
run: `mvn clean test -Ddatasource.default=pg`
|
|
|
|
Current status: PASS
|
|
Tests run: 2166, Failures: 0, Errors: 0, Skipped: 25
|
|
|
|
|
|
|
|
'mysql' platform
|
|
-------------
|
|
|
|
Reqirements
|
|
- a locally installed MySQL server.
|
|
- Create a user "unit" with password "unit" and a database "unit"
|
|
- Give the user all permissions to that db
|
|
|
|
run: `mvn clean test -Ddatasource.default=mysql`
|
|
|
|
Current status: PASS
|
|
Tests run: 2166, Failures: 0, Errors: 0, Skipped: 33
|
|
|
|
|
|
|
|
'sqlserver' platform
|
|
--------------------
|
|
|
|
Reqires an installed sqlserver - e.g. https://hub.docker.com/r/microsoft/mssql-server-linux/
|
|
|
|
- Create a user "ebean" with password "ebean" and a database "ebean_unittest"
|
|
- Adjust the connection string and/or username in ebean.properties
|
|
|
|
run: `mvn clean test -Ddatasource.default=mssql`
|
|
|
|
Current status: PASS
|
|
Tests run: 2166, Failures: 0, Errors: 0, Skipped: 39
|
|
|
|
|
|
|
|
'oracle' platform
|
|
-----------------
|
|
|
|
Reqires a locally installed Oracle server.
|
|
- Create a user "unit" with password "unit" with all permissions
|
|
- The test wirtes directly to the "xe" SID - so do not use a productive server!
|
|
- As the Oracle JDBC driver is only available on an oracle repository,
|
|
you need a special maven setup as described [here](http://docs.oracle.com/middleware/1213/core/MAVEN/config_maven_repo.htm#MAVEN9010)
|
|
|
|
run: `mvn clean test -Ddatasource.default=ora -Poracle`
|
|
|
|
Current status: FAIL
|
|
Tests run: 1986, Failures: 17, Errors: 34, Skipped: 16
|
|
|
|
|
|
|
|
'db2' platform
|
|
--------------
|
|
|
|
Reqires a locally installed DB2 Express-C server.
|
|
- Create a user "unit" with password "unit" with all permissions
|
|
- Install the db2jcc4 driver (see pom.xml)
|
|
|
|
run: `mvn clean test -Ddatasource.default=db2 -Pdb2`
|
|
|
|
Current status: FAIL
|
|
Tests run: 2166, Failures: 29, Errors: 58, Skipped: 30
|
|
|
|
|
|
'sqlite' platform
|
|
-----------------
|
|
|
|
Reqires no setup
|
|
|
|
run: `mvn clean test -Ddatasource.default=sqlite`
|
|
|
|
Current status: FAIL
|
|
Tests run: 1986, Failures: 24, Errors: 86, Skipped: 16
|
|
|
|
After some time, the db locks up, every test takes 3 seconds and fails with
|
|
"the database file is locked"
|
|
|
|
|
|
|
|
'hsqldb' platform
|
|
-----------------
|
|
|
|
Reqires no setup
|
|
|
|
run: `mvn clean test -Ddatasource.default=hsqldb`
|
|
|
|
Current status: FAIL
|
|
Tests run: 1980, Failures: 3, Errors: 657, Skipped: 16
|
|
|
|
|
|
@Rob FYI
|
|
The problem is https://sourceforge.net/p/hsqldb/bugs/1364/
|
|
In `InsertHandler.getPstmt` the `meta.getIdentityDbColumns()` contains
|
|
'id' in lowercase. Changing that to uppercase gives me this result:
|
|
`Tests run: 1986, Failures: 2, Errors: 18, Skipped: 16`
|
|
(as quick hack I added temporary a toUpperCase to BindableIdScalar.getIdentityColumn)
|
|
|
|
|
|
'sqlanywhere' platform
|
|
----------------------
|
|
|
|
TODO: not yet tested
|
|
|
|
|
|
|
|
'hana' platform
|
|
--------------------
|
|
|
|
Requires an installed SAP HANA server - e.g. https://store.docker.com/images/sap-hana-express-edition
|
|
|
|
- Create a user `EBEAN_TEST` with password `Eb3an_test` in the tenant database `HXE`
|
|
- Adjust the connection string and/or username in `ebean.properties`
|
|
|
|
run: `mvn clean test -Ddatasource.default=hana`
|
|
|
|
Current status: PASS
|
|
Tests run: 2486, Failures: 0, Errors: 0, Skipped: 84
|
|
|
|
|