Version 8 (modified by kyli, 16 years ago) (diff) |
---|
Analysis
Overview
Automatic tests need to be improved. Latest Hudson build reports 288 test failures out of 962 tests.
Task requirements
- Revise the current unit tests
- Remove any useless test cases (for more, see implementation idea).
- Make as much as possible tests / demos to work. This includes improving the source if tests report problems.
- Writing new tests is not required for this revision, since it is too much effort.
Task result
Removed useless tests, others - passing.
Implementation idea
- Read about how to write good unit tests, PLATFORM_STANDARDS_AUTO_TESTS for documented convensions for testing and "Code smells" in the internal backlog. Look also at the available demos.
- Describe what needs to be removed, what will be repaired and what tests need to be written during the next revision.
- Use FakeModuleRegistry where you need to use extension points.
Related
How to demo
Run all the available tests (through Eclipse, right click sophie2-platform, run as.., maven test).
Design
- While refactoring tests, look for the following things:
- Tests should UnitTestBase or IntegrationTestBase
- All resources needed for tests should be placed in the /src/test/resources folder of the module where the test is in
- Remove testing of simple getters
- Repair fake JavaDoc
- Where ither modules are needed, use FakeModuleRegistry.start(). In this case, make the class extend IntegrationTestBase. Look specifically at the modules ewhich have to be started, this is a common mistake.
- Take care for "TODO: refactor" things.
- Remove "fail('not implemented')" methods.
- Refactor any "try{fail();} catch(Throwable){}" statements, since they are useless. Fix the errors that will appear after refactoring them.
- Either refactor commented tests, or delete them.
- Look for the correct place of each test - if incorrect, fix it.
- Here is a list of the current modules and what has to be changed there :
org.sophie2.base.bound |
org.sophie2.base.commons |
org.sophie2.base.connectivity |
org.sophie2.base.dialogs |
org.sophie2.base.halos |
org.sophie2.base.layout |
org.sophie2.base.media |
org.sophie2.base.menus |
org.sophie2.base.model.book |
org.sophie2.base.model.resources |
org.sophie2.base.model.text org.sophie2.base.persistence org.sophie2.base.scene org.sophie2.base.skins org.sophie2.base.visual org.sophie2.core org.sophie2.core.modularity org.sophie2.core.mvc org.sophie2.extra.func.annotations org.sophie2.extra.func.embedded org.sophie2.extra.func.pdf org.sophie2.extra.func.print org.sophie2.launcher org.sophie2.main.app.commons org.sophie2.main.app.halos org.sophie2.main.app.layout org.sophie2.main.app.menus org.sophie2.main.app.model org.sophie2.main.dialogs.input org.sophie2.main.func.config org.sophie2.main.func.file org.sophie2.main.func.help org.sophie2.main.func.image org.sophie2.main.func.links org.sophie2.main.func.media org.sophie2.main.func.resources org.sophie2.main.func.servers org.sophie2.main.layout.mydoggy org.sophie2.main.layout.vldocking org.sophie2.main.media.fobs org.sophie2.main.persistence.r1 org.sophie2.main.persistence.r2 org.sophie2.main.scene.jogl org.sophie2.main.scene.simple org.sophie2.main.skin.alternative org.sophie2.main.ws_connector org.sophie2.server org.sophie2.server.connector org.sophie2.server.persistence org.sophie2.base.bound org.sophie2.base.commons org.sophie2.base.connectivity org.sophie2.base.dialogs org.sophie2.base.halos org.sophie2.base.layout org.sophie2.base.media org.sophie2.base.menus org.sophie2.base.model.book org.sophie2.base.model.resources org.sophie2.base.model.text org.sophie2.base.persistence org.sophie2.base.scene org.sophie2.base.skins org.sophie2.base.visual org.sophie2.core org.sophie2.core.modularity org.sophie2.core.mvc org.sophie2.extra.func.annotations org.sophie2.extra.func.embedded org.sophie2.extra.func.pdf org.sophie2.extra.func.print org.sophie2.launcher org.sophie2.main.app.commons org.sophie2.main.app.halos org.sophie2.main.app.layout org.sophie2.main.app.menus org.sophie2.main.app.model org.sophie2.main.dialogs.input org.sophie2.main.func.config org.sophie2.main.func.file org.sophie2.main.func.help org.sophie2.main.func.image org.sophie2.main.func.links org.sophie2.main.func.media org.sophie2.main.func.resources org.sophie2.main.func.servers org.sophie2.main.layout.mydoggy org.sophie2.main.layout.vldocking org.sophie2.main.media.fobs org.sophie2.main.persistence.r1 org.sophie2.main.persistence.r2 org.sophie2.main.scene.jogl org.sophie2.main.scene.simple org.sophie2.main.skin.alternative org.sophie2.main.ws_connector org.sophie2.server org.sophie2.server.connector org.sophie2.server.persistence
Implementation
(Describe and link the implementation results here (from the wiki or the repository).)
Testing
(Place the testing results here.)
Comments
(Write comments for this or later revisions here.)