Giter VIP home page Giter VIP logo

Comments (2)

unfulvio-godaddy avatar unfulvio-godaddy commented on June 12, 2024

@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.

unfulvio-godaddy avatar unfulvio-godaddy commented on June 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.