PHP 단위에서 Mage::getSingleton('checkout/cart')을 조롱하는 방법은 무엇입니까?
P粉244730625
P粉244730625 2024-04-03 13:48:23
0
1
439

이 foo() 메서드가 있고 Magento에서 이 메서드 testFoo()에 대한 단위 테스트 사례를 추가해야 합니다. 그러나 Mage::getSingleton('checkout/cart')은 시뮬레이션할 수 없습니다.

소스 방법

으아아아

테스트 기능

으아아아

php-unit을 실행하면 이런 오류 로그가 나타납니다.

으아아아

Mage::getSingleton('checkout/cart')을 시뮬레이션하는 방법에 대한 해결책이 필요합니다.

Note: 레거시 코드이기 때문에 메인 메소드를 변경할 수 없습니다. 단위 테스트 케이스만 추가하면 됩니다.

P粉244730625
P粉244730625

모든 응답(1)
P粉588152636

전역 네임스페이스의 정적 함수이므로 모의Mage::getSingleton('checkout/cart')할 수 없습니다.

그러나 메타프로그래밍을 사용하여 체크아웃 카드 모의를 주입할 수 있습니다. 그런 다음 해당 위치에서 원래 싱글톤을 복원합니다.

EComDev Testsuite에서 상속된 기존 Q&A와 비교하세요. 여기에는 PHP Reflection을 사용하여 내부 구조를 처리하는 방법에 대한 더 많은 지침이 있어야 합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!