Testing. 1.2.3: Call for e2e test contributors

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.

5 Likes

Uh oh, now I’m “Mr. Aurelia” :rofl:

I hope our community knows that the vast majority of work on Aurelia is not done by me but by awesome people like @dwaynecharrington. We’re all normal people who are passionate about what we’re building and enjoy doing it together with you. So, to echo Dwayne’s call, we’d love for you to get involved helping us with this. It’s a great opportunity to contribute to open source, put something on your resume, build up some new skills and do some work that’s going to positively affect tens of thousands of people all over the world.

Looking forward to see you all on GitHub :wink:

4 Likes

Hi dwayne, happy to help out ( a bit ). Have some cypress e2e tests running on aurelia/core already.

4 Likes

Awesome. The more help the better! @rajansen love your work.

1 Like

Aurelia supports my freelance life so I should probably devote some time to this. Count me in!

3 Likes

Thanks for all of the responses everyone. If you could please send me your Discord usernames and/or join Discord and provide it to me, it’ll make discussions around testing easier. We’ll get an e2e channel setup, where we can coordinate.

A little status update as well. Cypress testing is in as well as a functional app to test. I’ll have some tests to reference in about a day or so that will show how to write e2e tests.

1 Like

Hi,

this is my username: mabouchalkha

thank you

1 Like

Happy to help out as well. We use Cypress on a project that uses Aurelia.

1 Like

If there’s something I can do please let me know.

1 Like

Apologies for the delay everyone. Currently juggling a few things and a newborn at home as well. Here is a link to the Discord for testing: https://discord.gg/ZjSjaNf - see you all in the chat to get this thing going. This is an open invitation to anyone interested in helping, even those who haven’t responded or seen this thread yet.

1 Like

your link does not seem to work for me: invalid invite

1 Like

https://discord.gg/b8FY8kd :smiley: By default those links expire after 1 day. This link will last longer

1 Like