retrohub-org / retrohub

Retrogaming library frontend, built to be a highly customizable platform.
https://retrohub-org.github.io/
MIT License
109 stars 6 forks source link

Implement unit testing #172

Open rsubtil opened 1 year ago

rsubtil commented 1 year ago

Unit testing will massively help in ensuring no internal behavior breaks, and it can be used to test many scenarios, such as saving game data, scraping, setting configurations, etc...

Frameworks available: gut and GdUnit3

rsubtil commented 5 months ago

One good use case for unit testing is ensuring UI focus scenarios don't break randomly, which is something that constantly does.

Therefore this now takes some priority, thus it no longer belongs in the backlog. Like previously said, GUT and gdUnit4 seem to be the big ones right now, so which one to use should be investigated and pondered now.

rsubtil commented 2 months ago

As there's two prominent frameworks, and unit testing is crucial to ensure good UX, I'll be testing the workflow on both and grading them in different categories:

General

rsubtil commented 2 months ago

After testing both GUT and gdUnit4, here are some notes I've gathered:

General

There isn't much difference in feature-set, but gdUnit4 has some QoL decisions that I like, so we'll use this one.