Many of you have probably seen me around over the last few years in the Aurelia community. Recently, Mr Aurelia himself (Rob) created a thread asking for an e2e testing lead for the vNext version of Aurelia, which is going to be heavily lathered in tests.
I have actually been in an e2e testing frame of mind the last couple of months at my day job, so I have raised my hand to help lead the charge on the e2e testing front. Because Aurelia is a true community-led open source project, we are looking for avid developers and testing aficionados to help write e2e tests for Aurelia vNext.
"I would love to help, but, I have no experience writing e2e test or any tests", you say
Let’s be honest, no matter how experienced we are, we are all somewhat making this up as we go along. Up until recently, I had not really been fortunate to be in a position where I could e2e and unit tests (as much as I wanted to).
This means I am still learning what works and what doesn’t. There is no right or wrong way to do something, get involved and write some tests and then refactor them as you get more experience. The only way to truly learn something and get better at it is to jump into the deep end and have fun.
There is no pressure or no corporate expectations, if you want to get involved and help contribute to the next and greatest version of Aurelia, tests are a great way to not only familiarize yourself with the upcoming codebase, but also learn a very valuable skill that you can apply to your own projects or day job.
The plan.
Get the initial e2e testing setup this will come in a PR shortly after this post is published. We are going to use Cypress for the e2e testing, which utilises Mocha and Chai for the test syntax itself. Cypress currently only supports Chrome but has other browsers in the pipeline. For other browsers, we have other options like WDIO, right now this isn’t important.
Add in a couple of basic e2e tests that anyone can use as a starting base. If you want to write an e2e test for a custom attribute (like the if
binding`) then you will be able to reference an existing custom attribute test, the same thing for other types of framework resources and the framework itself. These will serve as both learning resources and great starting bases for staging components.
You start writing and contributing some e2e tests. Don’t worry too much about perfection or massively covering tests, start small and work your way up. We are all about iteration, so things can always be improved and built upon later on. Any test however basic is better than no test.
Sold?
Drop a response to this thread if you want to get involved. It is really that simple.