Comments (5)
You're right that mocked classes now feature an __isset() method. 0.7 uses it for public property mocking.
Do you have an actual test case and the relevant class I can use to replicate the issue? If I follow what you are mocking, and how, I'll be able to diagnose the problem.
from mockery.
Hi and thanks for quick response.
I've composed two files to reproduce issue, that are quite straightforward. Let's assume we do all the application bootstrapping and Mockery setup in test case superclass.
The class itself
class Test_Magic
{
protected $_properties = array();
public function __construct()
{
}
public function __isset($property=null)
{
return isset($this->_properties[$property]);
}
}
And a test:
class Test_MagicTest extends Shift_Test_Case
{
public function setUp()
{
parent::setUp();
$this->appBootstrap();
}
public function testIsset()
{
$form = Mockery::mock('Zend_Form');
$mock = Mockery::mock('Test_Magic');
}
}
This throws the BadMethodCallException: Method Test_Magic::__isset() does not exist on this mock object
When test reaches tearDown().
Please let me now if I can provide any further info or assis in any way.
from mockery.
Please excuse github markdown
from mockery.
Thanks for that. I've committed a small patch to exclude __isset() from being replaced. That seems to resolve the exception. Let me know if the git master is now running clean for you.
from mockery.
Yes, that did it. Now everything is back to normal. Thanks a lot.
from mockery.
Related Issues (20)
- Mock classes with new in methods on PHP 8.1 HOT 2
- Bugfix release for breaking changes ??? HOT 2
- Can't accurately mock Disjunctive Normal Form Type HOT 3
- Interpreting iterable|object as array|Traversable|object results in a runtime error. HOT 3
- Fix PHP 7.3 issues
- Cannot mock readonly class HOT 3
- Error in type declaration for iterable|object. HOT 2
- Regression in 1.6.5 when mocking an interface on PHP 8.2 HOT 2
- shouldNotReceive is overridden by invocation count methods HOT 1
- Type declarations and Generics
- mockery/mockery: 1.4.x-dev not found HOT 3
- Factory methods for `IsEqual` and `IsSame` matchers HOT 1
- support for PHPUnit constraints HOT 2
- Add "set property" method to mock object? HOT 1
- Disabled travis-ci and sensiolabs webhooks
- [New feature] Running code after mock method was called HOT 2
- InvalidCountException even though the mock method is called HOT 1
- [Feature request] Add array-like objects support to argument matchers
- PHP return type mismatch error when mocking method with static return type HOT 2
- Deprecations about drop support Metadata doc-comment in PHPUnit 12 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mockery.