Kiểm thử giao diện người dùng của ứng dụng để xác minh rằng hành vi của mã Compose là chính xác. Nhờ đó, bạn có thể phát hiện sớm lỗi và cải thiện chất lượng ứng dụng.
Compose cung cấp một bộ API kiểm thử để tìm các thành phần, xác minh thuộc tính của thành phần đó và thực hiện các hành động của người dùng. Các API này cũng bao gồm các tính năng nâng cao chẳng hạn như thao tác thời gian. Sử dụng các API này để tạo các chương trình kiểm thử mạnh mẽ nhằm xác minh hành vi của ứng dụng.
Số lượt xem
Nếu bạn đang làm việc với các thành phần hiển thị thay vì Compose, hãy xem phần Kiểm thử ứng dụng trên Android chung.
Cụ thể, bạn nên bắt đầu bằng hướng dẫn Tự động hoá quy trình kiểm thử giao diện người dùng. Tài liệu này trình bày cách bạn có thể tự động hoá các chương trình kiểm thử chạy trên thiết bị, bao gồm cả khi sử dụng các thành phần hiển thị.
Khái niệm chính
Sau đây là một số khái niệm chính để kiểm thử mã Compose.
- Ngữ nghĩa: Các bài kiểm thử Compose tương tác với giao diện người dùng bằng cách sử dụng ngữ nghĩa, giúp cung cấp ý nghĩa cho các phần của giao diện người dùng và được tạo cùng với hệ phân cấp giao diện người dùng.
- API kiểm thử: Compose cung cấp các API kiểm thử để tìm các thành phần, đưa ra xác nhận về trạng thái và thuộc tính của các thành phần đó, đồng thời thực hiện các hành động để mô phỏng hoạt động tương tác của người dùng.
- Đồng bộ hoá: Theo mặc định, các quy trình kiểm thử Compose sẽ tự động đồng bộ hoá với giao diện người dùng, chờ giao diện người dùng ở trạng thái rảnh trước khi đưa ra câu nhận định hoặc thực hiện hành động.
- Khả năng tương tác: Trong ứng dụng kết hợp, các chương trình kiểm thử có thể tương tác liền mạch với cả các phần tử Compose và phần tử dựa trên Khung hiển thị, đồng thời tích hợp với các khung kiểm thử khác.
Bản tóm tắt về kiểm thử
Hãy xem bảng tóm tắt về kiểm thử để biết thông tin tổng quan về tất cả các chủ đề chính mà bạn nên tìm hiểu về kiểm thử trong Compose.
Thiết lập
Thiết lập ứng dụng để kiểm thử mã Compose.
Trước tiên, hãy thêm các phần phụ thuộc sau vào tệp build.gradle
của mô-đun
chứa các quy trình kiểm thử giao diện người dùng của bạn:
// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
Mô-đun này bao gồm ComposeTestRule
và phương thức triển khai cho Android có tên là AndroidComposeTestRule
. Thông qua quy tắc này, bạn có thể thiết lập nội dung Compose hoặc truy cập hoạt động. Bạn tạo các quy tắc bằng cách sử dụng các hàm nhà máy, createComposeRule
hoặc nếu bạn cần truy cập vào một hoạt động, createAndroidComposeRule
. Quy trình kiểm thử giao diện người dùng điển hình của Compose có dạng như sau:
// file: app/src/androidTest/java/com/package/MyComposeTest.kt
class MyComposeTest {
@get:Rule val composeTestRule = createComposeRule()
// use createAndroidComposeRule<YourActivity>() if you need access to
// an activity
@Test
fun myTest() {
// Start the app
composeTestRule.setContent {
MyAppTheme {
MainScreen(uiState = fakeUiState, /*...*/)
}
}
composeTestRule.onNodeWithText("Continue").performClick()
composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
}
}
Tài nguyên khác
- Kiểm thử ứng dụng trên Android: Trang đích chính về kiểm thử Android cung cấp thông tin tổng quan hơn về các nguyên tắc và kỹ thuật kiểm thử.
- Kiến thức cơ bản về kiểm thử: Tìm hiểu thêm về các khái niệm cốt lõi đằng sau việc kiểm thử ứng dụng Android.
- Kiểm thử cục bộ: Bạn có thể chạy một số bài kiểm thử cục bộ trên máy trạm của riêng mình.
- Kiểm thử đo lường: Bạn cũng nên chạy kiểm thử đo lường. Tức là các chương trình kiểm thử chạy trực tiếp trên thiết bị.
- Tích hợp liên tục: Tích hợp liên tục cho phép bạn tích hợp các chương trình kiểm thử vào quy trình triển khai.
- Kiểm thử nhiều kích thước màn hình: Khi người dùng có nhiều thiết bị, bạn nên kiểm thử nhiều kích thước màn hình.
- Espresso: Mặc dù dành cho giao diện người dùng dựa trên Khung hiển thị, nhưng kiến thức về Espresso vẫn có thể hữu ích cho một số khía cạnh của hoạt động kiểm thử Compose.
Lớp học lập trình
Để tìm hiểu thêm, hãy thử tham gia Lớp học lập trình Kiểm thử trong Jetpack Compose.
Mẫu
Đề xuất cho bạn
- Lưu ý: văn bản có đường liên kết sẽ hiện khi JavaScript tắt
- Ngữ nghĩa trong Compose
- Phần lồng ghép cửa sổ trong Compose
- Những điểm khác cần cân nhắc