Generally speaking there are 2 general rules of thumb that we need to aim for when fixing the tests:
- We should have integration tests that are larger usecases: integration tests are time consuming to run, especially when compared to unit tests. It's therefore preferable to have a few large integration tests than many small integration tests
- Integration tests should be runnable individually: the existing code base is requiring to run the tests in a specific sequence (ex. test Y is expecting an OpenShift resource - that test X creates - to exist). That's a major burden: one would have to run the whole lengthy suite to just create a new test for a new feature that was implemented
- During stabilization try to reuse projects/apps/resources as much as it is possible to reduce time for building applications, so this needs to rewrite classes
This jira tries to fix the remaining ITests for OpenShift (that are currently not included in stable suite) while aiming at the goals above:
Test should be stable on all major platforms: Win, Linux and MacOS.