>Java >java지도 시간 >Mockito 예제의 theReturn () 메소드

Mockito 예제의 theReturn () 메소드

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-27 00:07:07917검색

thenReturn() method in Mockito example 시나리오 : 컨트롤러를 테스트하기위한 서비스를 조롱하는

응용 프로그램 코드 직원. 자바
  1. <..> EmployeService.java
package com.example.demo.model;

public class Employee {
    private String id;
    private String name;

    // Constructors, Getters, and Setters
    public Employee(String id, String name) {
        this.id = id;
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Employeecontroller.java

package com.example.demo.service;

import com.example.demo.model.Employee;
import org.springframework.stereotype.Service;

@Service
public class EmployeeService {
    public Employee getEmployeeById(String id) {
        // Simulate fetching employee from a database
        return new Employee(id, "Default Name");
    }
}

theReturn ()을 사용한 단위 테스트 코드 Employeecontrollertest.java

package com.example.demo.controller;

import com.example.demo.model.Employee;
import com.example.demo.service.EmployeeService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class EmployeeController {
    private final EmployeeService employeeService;

    public EmployeeController(EmployeeService employeeService) {
        this.employeeService = employeeService;
    }

    @GetMapping("/employees/{id}")
    public Employee getEmployee(@PathVariable String id) {
        return employeeService.getEmployeeById(id);
    }
}

설명 언제 () "1"으로 호출 될 때 특정 직원 개체를 반환하기 위해 Employeeservice.getemployeebyid ( "1")의 행동을 조롱합니다. 의존성 주입 : @Mock은 직원 서비스의 모의를 만듭니다 @injectMocks는 Mock Employepservice를 EmployeeController에 주입합니다 확인 : verife (Employervice, times (1)). getemployeebyid ( "1")는 조롱 된 방법이 정확히 한 번 호출되었는지 확인하십시오. <:> 어설 션 : 반환 된 직원 객체를 예상 값에 대해 검증합니다
    출력 테스트가 실행될 때 : 컨트롤러 메소드를 호출합니다. 조롱 된 서비스는 스터브 된 직원 대상을 반환합니다 테스트는 다음과 같은 경우 통과합니다 반환 된 직원 객체는 예상 값과 일치합니다 조롱 된 서비스 방법을 예상 횟수라고 불렀습니다. 이것은 실제 서비스 구현에 의존하지 않고 스프링 부팅 애플리케이션에서 theReturn ()을 사용하는 깨끗하고 실용적인 방법입니다.

위 내용은 Mockito 예제의 theReturn () 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.