3.19
安卓应用的测试与持续集成
高质量的安卓应用离不开完善的测试。安卓测试主要包括单元测试、集成测试和 UI 自动化测试。
单元测试用于测试代码中的最小单元,如函数或方法。使用 JUnit 4 进行单元测试,例如测试一个简单的加法函数:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class CalculatorTest {
@Test
public void testAddition() {
int result = 2 + 3;
assertEquals(5, result);
}
}
集成测试则关注多个组件之间的交互。安卓提供了 Espresso 框架进行 UI 自动化测试,可以模拟用户操作并验证 UI 状态。例如,测试一个按钮点击后的文本变化:
import android.view.View;
import androidx.test.espresso.Espresso;
import androidx.test.espresso.action.ViewActions;
import androidx.test.espresso.assertion.ViewAssertions;
import androidx.test.espresso.matcher.ViewMatchers;
import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import com.example.MainActivity;
@RunWith(AndroidJUnit4.class)
public class MainActivityUITest {
@Rule
public ActivityScenarioRule
@Test
public void testButtonClick() {
Espresso.onView(ViewMatchers.withId(R.id.button))
.perform(ViewActions.click());
Espresso.onView(ViewMatchers.withId(R.id.text_view))
.check(ViewAssertions.matches(ViewMatchers.withText("Button clicked!")));
}
}
结合持续集成工具(如 GitHub Actions、Jenkins),可以在每次代码提交时自动运行测试,确保代码质量。例如,在 GitHub Actions 中配置安卓测试工作流:
name: Android Tests
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build
- name: Run Android tests
run: ./gradlew connectedAndroidTest
通过全面的测试和持续集成,能够及时发现和修复问题,提高应用的稳定性和可靠性。
浙公网安备 33010602011771号