Skip to content

Integration tests refactoring #2925

@IgnatBeresnev

Description

@IgnatBeresnev

Dokka's integration tests run Dokka on real projects using various versions of Gradle, Kotlin and Android, and make sure there are no abnormalities, all links are present, everything is resolved and is able to be built, etc. This is extremely useful, and the same behaviour should be preserved.

Additionally, the integration tests are used for generating and publishing live demos of documentation to S3, which is very useful for reviewing UI/UX changes. This feature should be preserved as well.


However, the way that the tests are set up now is not optimal, and it's causing problems in various places:

  1. The tests cannot be cached by Gradle as they define incorrect inputs/outputs. More information here.
  2. The tests are lumped together under the same task, so it's more difficult to have unique configuration for a project (more information here).
  3. External test projects, such as kotlinx.coroutines, are imported as git submodules. This is just annoying to maintain and update, and not obvious to someone encountering it for the first time. Maybe these projects could be added as dependencies, more information here
  4. (to be continued)

The outlined problems should be researched and addressed if possible.

Metadata

Metadata

Assignees

Labels

epicA large body of work that is broken down into smaller issuestech-debtA technical issue that is not observable by the users, but improves maintainers quality of life

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions