이 foo() 메서드가 있고 Magento에서 이 메서드 testFoo()에 대한 단위 테스트 사례를 추가해야 합니다. 그러나 Mage::getSingleton('checkout/cart')은 시뮬레이션할 수 없습니다.
소스 방법
으아아아테스트 기능
으아아아php-unit을 실행하면 이런 오류 로그가 나타납니다.
으아아아Mage::getSingleton('checkout/cart')을 시뮬레이션하는 방법에 대한 해결책이 필요합니다.
Note: 레거시 코드이기 때문에 메인 메소드를 변경할 수 없습니다. 단위 테스트 케이스만 추가하면 됩니다.
전역 네임스페이스의 정적 함수이므로 모의
Mage::getSingleton('checkout/cart')
할 수 없습니다.그러나 메타프로그래밍을 사용하여 체크아웃 카드 모의를 주입할 수 있습니다. 그런 다음 해당 위치에서 원래 싱글톤을 복원합니다.
EComDev Testsuite에서 상속된 기존 Q&A와 비교하세요. 여기에는 PHP Reflection을 사용하여 내부 구조를 처리하는 방법에 대한 더 많은 지침이 있어야 합니다.