मैं जब (PHP में मजाक का उपयोग कर laravel ढांचे का उपयोग कर im इंटरफेस मजाक किसी समस्या का सामना किया है, लेकिन मुझे यकीन है कि यह प्रासंगिक है नहीं कर रहा हूँ।त्रुटि जब मजाक
मैं एक अंतरफलक
परिभाषित किया है<?php namespace MyNamespace\SomeSubFolder;
interface MyInterface {
public function method1();
}
और मैं एक वर्ग है कि तरीकों में से एक पर है कि इंटरफ़ेस typehints है ...
<?php namespace MyNamespace\SomeSubFolder;
use MyNamespace\SomeSubFolder\MyInterface;
class MyClass {
public function execute(MyInterface $interface)
{
//does some stuff here
}
}
... और मुझे MyClass परीक्षण करने के लिए कोशिश कर रहा हूँ। मैं एक परीक्षण है कि शौचालय बनाया है इस तरह ks कुछ: तर्क 1 MyClass के लिए पारित :: निष्पादित MyNamespace \ SomeSubFolder \ MyInterface का एक उदाहरण होना चाहिए, Mockery_123465456 का उदाहरण:
public function testExecute()
{
$mock = Mockery::mock('MyNamespace\SomeSubFolder\MyInterface');
$mock->shouldReceive('method1')
->andReturn('foo');
$myClass = new MyClass();
$myClass->execute($mock);
}
जब मैं परीक्षण चलाने मैं संदेश
'ErrorException प्राप्त दिया .... '
मुझे नहीं पता कि क्यों।
परीक्षण मैं निम्नलिखित की कोशिश की है के भीतर:
$this->assertTrue(interface_exists('MyNamespace\SomeSubFolder\MyInterface'));
$this->assertTrue($mock instanceof MyInterface);
और दोनों सच लौटने के लिए, तो यह लगता है कि मैं बनाया है और उदाहरण है कि इंटरफ़ेस को लागू करता है, लेकिन जब मैं वर्ग इस पर विधि कॉल सहमत नहीं हैं। कोई विचार???
मुझे लगता है कि आप और अधिक कोड या आपके वास्तविक कोड प्रदान करना होगा, इस https://gist.github.com/davedevelopment/31b143fc44ec52fcc575 काम करता है के रूप में मेरे –
मैं इस मिल के रूप में अच्छी तरह से जब मजाक प्रयोग करने के लिए उम्मीद है। मैंने पाया है कि प्रक्रिया अलगाव सक्षम कार्यों के साथ चल रहे परीक्षण (लेकिन यह काफी धीमा है)। – Ross
मुझे याद है कि एक ऐसी समस्या है जो वास्तव में मॉकरी में एक बग बन गई है। क्या आप मॉकरी को देव-मास्टर को अपडेट कर सकते हैं और देख सकते हैं कि समस्या अभी भी बनी हुई है या नहीं? –