Comments (2)
@iam-mhaseeb which features of the WP_Mock TestCase do your tests requires?
Perhaps we could split some methods from that TestCase into traits.
I believe WP_Mock should not extend WP_UnitTestCase
because the WP_UnitTestCase_Base
abstract it extends contains a lot of WordPress-specific functions and we'd introduce a problematic dependency in WP_Mock.
If however you are designing your own TestCase object extending WP_UnitTestCase
, if WP_Mock can provide some traits for the functions you'd like to use, we can still have WP_Mock TestCase use those traits which could be implemented by third parties as well.
from wp_mock.
After looking again into this issue, I'm not sure if the idea of splitting some methods into traits could work or be of any help at all to your original question. WP_Mock is tightly coupled with Mockery, and to specific versions of PhpUnit, while WP test cases seem not to account for it being more close to integration tests than pure unit tests as per https://core.trac.wordpress.org/browser/trunk/tests/phpunit/README.txt
phpunit will initialize and install a (more or less) complete running copy of WordPress each time it is run. This makes it possible to run functional interface and module tests against a fully working database and codebase, as opposed to pure unit tests with mock objects and stubs.
Also check out this other thread: #49
Having WP_Mock own TestCase
extend WP_UnitTestCase
will introduce a dependency on the WordPress test suite which would break existing use cases where WP_Mock TestCase
.
Perhaps another way of looking at your original question could be to build missing features you're looking for into WP_Mock. You could also integrate WP_Mock in your own test case that extends WP_UnitTestCase
by overriding setUp/tearDown methods and using the WP_Mock
main class static methods as appropriate.
I'm closing this for now, but please feel free to re-open this issue or open another issue if there's something else we could explore. Thank you!
from wp_mock.
Related Issues (20)
- WP_Mock TestCase is referencing method removed from PhpUnit
- Move TestCase::mockStaticMethod into trait HOT 1
- WP_Mock should define its own exception objects
- Introduce a builder for WP functions and WP constants mocks
- Remove WP_Mock/Loader
- Change license from GPL 2.0 to BSD-3-Clause HOT 13
- Move documentation over GitBook
- PHP 8.2 Dynamic Property Deprecation HOT 1
- How to Mock wp_send_json_error() HOT 5
- Update GitHub workflow with the setup-php action to run tests in PHP 7.3
- Documentation bug: wp:mock instead of wp_mock HOT 1
- Unexpected use of apply_filters for filter HOT 12
- Update CHANGELOG.md
- Compatibility with PHPUnit 10 HOT 8
- `expectHookNotAdded` should accept priority and arguments parameters with defaults as `expectHookAdded`
- Pass in Closure for Hooks HOT 3
- Compatability with PHP 8.3
- Mocked user function remains mocked in separate test. HOT 7
- v1.0.1 is not available on Packagist HOT 5
- Latest release has not been published to packagist. HOT 3
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 wp_mock.