当前位置:首页 > Java

java 如何测试

2026-04-08 23:58:16Java

单元测试(Unit Testing)

使用 JUnit 框架进行单元测试,验证单个方法或类的行为是否符合预期。

示例代码:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class CalculatorTest {
    @Test
    void testAdd() {
        Calculator calculator = new Calculator();
        assertEquals(5, calculator.add(2, 3));
    }
}
  • 依赖配置(Maven):
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>5.8.2</version>
      <scope>test</scope>
    </dependency>

集成测试(Integration Testing)

验证多个模块或服务之间的交互是否正常,通常结合 Spring Boot Test 或 TestNG。

示例代码(Spring Boot):

import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.junit.jupiter.api.extension.ExtendWith;

@ExtendWith(SpringExtension.class)
@SpringBootTest
public class UserServiceIntegrationTest {
    @Autowired
    private UserService userService;

    @Test
    void testUserCreation() {
        User user = userService.createUser("testUser");
        assertNotNull(user.getId());
    }
}

模拟测试(Mocking)

使用 Mockito 模拟依赖对象的行为,隔离被测代码。

java 如何测试

示例代码:

import static org.mockito.Mockito.*;
import org.junit.jupiter.api.Test;

public class OrderServiceTest {
    @Test
    void testPlaceOrder() {
        PaymentGateway mockGateway = mock(PaymentGateway.class);
        when(mockGateway.process(anyDouble())).thenReturn(true);

        OrderService service = new OrderService(mockGateway);
        assertTrue(service.placeOrder(100.0));
    }
}

性能测试(Performance Testing)

使用 JMH(Java Microbenchmark Harness)进行基准测试,评估代码性能。

示例配置:

java 如何测试

import org.openjdk.jmh.annotations.*;

@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public class AlgorithmBenchmark {
    @Benchmark
    public void testSortPerformance() {
        // 被测算法代码
    }
}
  • 运行需通过 Maven 插件或命令行启动。

覆盖率分析(Coverage)

使用 JaCoCo 或 Cobertura 生成测试覆盖率报告。

Maven 配置(JaCoCo):

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.7</version>
    <executions>
        <execution>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
    </executions>
</plugin>

自动化测试(CI/CD)

在持续集成中通过 Jenkins 或 GitHub Actions 自动运行测试。

GitHub Actions 示例:

name: Java CI
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Run tests
        run: mvn test

测试最佳实践

  • 测试名称应清晰描述场景(如 testAdd_WhenInputIsNegative_ThrowsException)。
  • 避免依赖外部服务(如数据库),使用内存数据库或模拟对象替代。
  • 定期重构测试代码,保持与生产代码同步。

标签: 测试java
分享给朋友:

相关文章

如何查看java版本

如何查看java版本

查看 Java 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

如何编写java

如何编写java

编写Java程序的基本步骤 安装Java开发工具包(JDK),确保系统环境变量配置正确。可以从Oracle官网下载最新版本的JDK并进行安装。 选择一个合适的集成开发环境(IDE),如Eclipse…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…

react h5网站如何真机测试

react h5网站如何真机测试

使用 Chrome 远程调试(Android) 确保手机和电脑在同一局域网,打开手机开发者选项中的 USB 调试 和 USB 安装。通过 USB 连接电脑,在 Chrome 浏览器地址栏输入 chro…

如何查看java版本

如何查看java版本

查看Java版本的命令行方法 在终端或命令提示符中运行以下命令,可以快速查看已安装的Java版本: java -version 输出示例: java version "17.0.1" 20…