Gần đây tôi đã gửi một yêu cầu kéo tới Magento để sửa một phiên bản duy nhất của trình quản lý đối tượng đang được sử dụng trực tiếp.
Tuy nhiên, chạy thử nghiệm đơn vị hành trình của Magento không thành công với lỗi sau .
Lỗi nghiêm trọng của PHP: Gọi đến phương thức không xác định Mock_BlockFactory_4b440480 :: create () trong /home/travis/build/magento/magento2/app/code/Magento/Cms/Controll/Adminhtml/Block/Delete.php trên dòng 39
Dựa trên bản dựng travis, tôi thậm chí không thể biết thử nghiệm nào thất bại. Tôi đã có thể gặp lỗi tương tự (giống hệt nhau?) Tại địa phương với dấu vết ngăn xếp
PHP Fatal error: Call to undefined method Mock_BlockFactory_ec77572c::create() in /Users/alanstorm/Documents/github/astorm/magento2/app/code/Magento/Cms/Controller/Adminhtml/Block/Delete.php on line 39
PHP Stack trace:
PHP 1. {main}() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/phpunit:0
PHP 2. PHPUnit_TextUI_Command::main() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/phpunit:55
PHP 3. PHPUnit_TextUI_Command->run() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/TextUI/Command.php:132
PHP 4. PHPUnit_TextUI_TestRunner->doRun() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/TextUI/Command.php:179
PHP 5. PHPUnit_Framework_TestSuite->run() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:426
PHP 6. PHPUnit_Framework_TestSuite->run() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/Framework/TestSuite.php:675
PHP 7. PHPUnit_Framework_TestCase->run() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/Framework/TestSuite.php:675
PHP 8. PHPUnit_Framework_TestResult->run() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/Framework/TestCase.php:753
PHP 9. PHPUnit_Framework_TestCase->runBare() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/Framework/TestResult.php:686
PHP 10. PHPUnit_Framework_TestCase->runTest() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/Framework/TestCase.php:817
PHP 11. ReflectionMethod->invokeArgs() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/Framework/TestCase.php:951
PHP 12. Magento\Cms\Test\Unit\Controller\Adminhtml\Block\DeleteTest->testDeleteAction() /Users/alanstorm/Documents/github/astorm/magento2/vendor/phpunit/phpunit/src/Framework/TestCase.php:951
PHP 13. Magento\Cms\Controller\Adminhtml\Block\Delete->execute() /Users/alanstorm/Documents/github/astorm/magento2/app/code/Magento/Cms/Test/Unit/Controller/Adminhtml/Block/DeleteTest.php:151
Tôi đã có thể thu hẹp sự thất bại cục bộ trong bài kiểm tra này - nhưng tôi có một chút mất mát về những gì đang diễn ra.
Tôi đoán là khung kiểm tra đã tự động chế nhạo một đối số DI cho tôi, nhưng việc chế tạo tự động bị thiếu create
phương thức. Nếu đó là trường hợp, thì câu hỏi thực tế của tôi là Làm thế nào để tôi thêm một bản giả cho một phụ thuộc mới được tiêm vào khung kiểm tra của Magento .
Tuy nhiên, tôi chưa bao giờ đi sâu xuống hố thỏ thử nghiệm của Magento, vì vậy tôi không chắc điều gì thực sự cần phải xảy ra ở đây. Bất cứ ai có kinh nghiệm thử nghiệm Magento có thể đặt thẳng cho tôi?
create
, giống như ở đây .