Java 開発: 単体テストと統合テストを実行する方法、具体的なコード例が必要です
はじめに:
1. 単体テスト:
public class Calculator { public int add(int a, int b) { return a + b; } }
上記のコード例の
Calculator
クラスの
add
メソッドについては、対応する単体テスト クラスを作成できます。 。
サンプル コード:
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class CalculatorTest { Calculator calculator = new Calculator(); @Test public void testAdd() { int result = calculator.add(2, 3); Assertions.assertEquals(5, result); } }
上記のコードは、単体テストに JUnit フレームワークを使用します。
@Test
アノテーションを使用してテストする必要があるメソッドをマークし、
Assertions
クラスのアサーション メソッドを使用して結果を検証します。上記の例では、
add
メソッドの戻り結果が 5 であるかどうかを、
assertEquals
メソッドによって検証しました。
2. 統合テスト:
public class PaymentService { public boolean makePayment(double amount) { // 实际的支付逻辑 if (amount > 0) { // 支付成功 return true; } else { // 支付失败 return false; } } } public class EmailService { public void sendEmail(String email, String message) { // 实际的发送邮件逻辑 } } public class OrderService { private PaymentService paymentService; private EmailService emailService; public OrderService(PaymentService paymentService, EmailService emailService) { this.paymentService = paymentService; this.emailService = emailService; } public boolean processOrder(double amount, String email) { boolean paymentStatus = paymentService.makePayment(amount); if (paymentStatus) { emailService.sendEmail(email, "Your order has been processed successfully."); return true; } else { emailService.sendEmail(email, "Payment failed. Please try again."); return false; } } }
上記のサンプル コードの
OrderService
に対して、対応する統合テスト クラスを作成できます。
サンプル コード:
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class OrderServiceTest { @Test public void testProcessOrder() { PaymentService paymentService = new PaymentService(); EmailService emailService = new EmailService(); OrderService orderService = new OrderService(paymentService, emailService); boolean result = orderService.processOrder(100.0, "example@example.com"); Assertions.assertTrue(result); } }
上記のコードは、統合テストに JUnit フレームワークを使用します。テスト メソッドで
PaymentService
と
EmailService
のインスタンスを作成し、それらをパラメーターとして
OrderService
のコンストラクターに渡しました。次に、
OrderService
の
processOrder
メソッドを呼び出してテストし、
assertTrue
メソッドを使用して結果が
true
であるかどうかを確認します。
結論:
以上がJava 開発: 単体テストと統合テストを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。