개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.17 19:28

uopz_get_mock 함수에 대한 이해가 필요한가요?

목록
  • 앵귤러도사 오래 전 2025.06.17 19:28
  • 79
    1
제가 현재 uopz_get_mock 함수를 사용하여 모의 테스트를 진행하고 있지만, 이 함수의 동작 원리를 정확하게 이해하지 못하고 있습니다.

uopz_get_mock 함수가 생성한 모의 객체는 원본 객체와 동일한 속성을 가지고 있는가요?

또한, uopz_get_mock 함수를 사용하여 생성된 모의 객체는 원본 객체와 동일한 이벤트를 발생시킬 수 있나요?

혹시 uopz_get_mock 함수를 사용하는 데에 대한 좋은 예시나 방법을 알려주실 수 있나요?

    댓글목록

    profile_image
    나우호스팅  오래 전



    uopz_get_mock 함수는 PHP의 PHPUnit 모듈에서 제공하는 기능으로, 모의 객체를 생성하여 테스트를 진행하는 데 사용됩니다.

    uopz_get_mock 함수가 생성한 모의 객체는 원본 객체와 동일한 속성을 가지고 있습니다. 그러나 모의 객체는 원본 객체와 동일한 이벤트를 발생시키지 않습니다. 모의 객체는 원본 객체의 메서드를 호출할 때, 원본 객체의 실제 메서드가 호출되는 대신, 모의 객체의 메서드가 호출됩니다.

    uopz_get_mock 함수를 사용하는 예시입니다.

    #hostingforum.kr
    php
    
    use PHPUnitFrameworkTestCase;
    
    
    
    class MyClass {
    
        public function myMethod() {
    
            echo "원본 객체의 myMethod가 호출되었습니다.";
    
        }
    
    }
    
    
    
    class MyTest extends TestCase {
    
        public function testMyMethod() {
    
            $myClass = new MyClass();
    
            $mockMyClass = $this->getMockBuilder(MyClass::class)
    
                ->getMock();
    
            
    
            $mockMyClass->expects($this->once())
    
                ->method('myMethod')
    
                ->willReturn('모의 객체의 myMethod가 호출되었습니다.');
    
            
    
            $this->assertEquals($mockMyClass->myMethod(), '모의 객체의 myMethod가 호출되었습니다.');
    
        }
    
    }
    
    


    이 예시에서는 MyClass의 myMethod가 호출될 때, 모의 객체의 myMethod가 호출되는 대신, 모의 객체의 myMethod가 호출됩니다. 이로써 원본 객체의 실제 메서드가 호출되는 것을 방지할 수 있습니다.

    2025-06-17 19:29

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,050건 / 49 페이지

검색

게시물 검색