| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 1 年前 |
Run:
./gradlew build -Pkotlin.version=2.2.10
to build and run the tests,
or
./gradlew allTests -Pkotlin.version=2.2.10
to only run the tests.
It will build and run the tests for all available targets (depends on a host machine).
Test cases
Directory: ./testcases
Every test case contains a simple project with 2 or more modules with applied Compose plugin.
The goal of such a project is to check a specific case of Composable usage.
A test case ensures that the code compiles and behaves as expected when running.
A test case contains 2 or more modules to check crossmodule compilation (the test dependencies should be placed in a ...-lib module).
See a test case template for an example. Splitting the test cases into separate small projects helps in distinguishing the potential compilation bugs.
The behaviour is checked by the tests in a ...-main module of a test case.
The tests create a simple text Composition and then compares the text dump with an expected value.
Example:
@Test
fun testExample2() = runTest {
val root = composeText {
TextLeafNode("Leaf")
TextContainerNode("node") {
TextLeafNode("child1")
TextLeafNode("child2")
TextLeafNode("child3")
}
}
assertEquals("root:{Leaf, node:{child1, child2, child3}}", root.dump())
}
The API for the text Composition is implemented in the common module. More test examples (including recomposition cases) can be found here.
To add a new test case:
- Use
/testcases/templateas a starting point (copy it and rename). Place a new testcase in/testcasesfolder. - Add new modules in
settings.gradle.kts - Please follow the naming convention for modules. Their names should end with
-libor-main.
We need 2 modules (...-liband...-main) to test crossmodule compilation.
Place the test dependencies in a...-libmodule.