Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Peridot 2.0 Ideas #214

Open
ragboyjr opened this issue Aug 10, 2019 · 7 comments
Open

Peridot 2.0 Ideas #214

ragboyjr opened this issue Aug 10, 2019 · 7 comments

Comments

@ragboyjr
Copy link
Contributor

ragboyjr commented Aug 10, 2019

After a while of thinking about what a peridot 2.0 should look like, I don't think i want to try and compete with Kahlan and PHPUnit. Peridot 1.0 is basically a lite version of kahlan with a smaller community and resources behind it. I don't really see any area that peridot can try to tap into that Kahlan userbase in a way that Kahlan isn't already doing.

The describe-it syntax is very popular in other languages and personally, I do like how expressive the system can be. That being said however, PHPUnit by far is the defacto testing framework and majority of the PHP community resources and integrations revolve around PHPUnit. If kahlan hasn't taken off by now, then it's very likely that the php community won't be ready to rally around a new framework.

Personally, I actually like that the PHP community largely pools our resources into one testing framework. It's very attractive for new comers and also means that the community can focus our efforts on growing the PHPUnit ecosystem instead of dilluting our efforts among competing frameworks.

All that said, I do think there might a space for a new frontend for PHPUnit. A library that piggy backs off the entire phpunit framework but provides a different interface for writing tests with the describe-it syntax that the peridot/kahlan community enjoys.

I think peridot 2.0 would be a good place to explore this integration with phpunit. It'd allow us to focus on the parts of testing framework that are interesting and leave the heavy lifting to phpunit all the while piggy backing off of the wealth of documentation and third party plugins that phpunit provides.

In a similar manner, we'd probably make peridot/leo be just a thin wrapper around the PHPUnit assertions library and include in the peridot 2.0 core.

In the long run, I'd love to see peridot's new phpunit frontend be brought under the fold of PHPUnit with first class support and apart of the phpunit ecosystem instead of a separate library.

Let me know what you all think about this idea, welcome to suggestions :)

@ragboyjr
Copy link
Contributor Author

ragboyjr commented Aug 10, 2019

Tinkered for an hour on a quick proof of concept, and this might be a lot easier than I initially thought: https://github.com/peridot-php/peridot/blob/peridot-phpunit-poc/poc.php

@ragboyjr ragboyjr pinned this issue Aug 10, 2019
@ezzatron
Copy link
Contributor

I agree that there isn't a lot of demand for Peridot any more, unfortunately. It was a fantastic tool at a time when there were few alternatives.

The describe-it syntax-on-top-of-phpunit isn't necessarily a bad idea, but just be aware that that's essentially what https://github.com/danielstjules/pho was, and it also struggled to gain traction.

@ragboyjr
Copy link
Contributor Author

@ezzatron Interesting, I checked pho, and I don't see any reference to phpunit. Maybe i'm missing something?

@ragboyjr
Copy link
Contributor Author

Basically, peridot 2.0 concept would basically just be a plugin to phpunit and hopefully in the future pulled under the namespace of PHPUnit as a first class citizen.

https://github.com/Codeception/Specify - this looks similar to what I'm attempting to do, but still doesn't support the full syntax.

@ezzatron
Copy link
Contributor

Weird... I could have sworn it was pho that was based on PHPUnit, but it seems not.

@ragboyjr
Copy link
Contributor Author

ragboyjr commented Jan 1, 2020

I wonder if you were thinking of Pest

@ezzatron
Copy link
Contributor

ezzatron commented Jan 2, 2020

Hmm, I don't think so. The framework I remember was ancient, from before Peridot existed. But Pest looks pretty cool!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants