🧬 Intelligent dosage tracker application with purpose to monitor supplements, nootropics and psychoactive substances along with their long-term influence on one's mind and body.
There is a one big mess in my eyes when it comes to testing frameworks/tools for the languages, never in my life I've seen somebody was actually testing application even through everyone says "You should test app". So, I think the only thing that's left for me is choosing the tools that are comfortable for my and my tools and work with them.
There are few kinds that I would like to try: Unit tests, Integration Tests, Acceptance Tests, Load Tests, Performance Tests, Behavioural Tests, UI Tests, API Tests and E2E Tests - not sure they are real categories, but I think that minimally represent what I have in mind.
In my young years I've used [ava]() for testing TypeScript functions but the problem with ava was reporting as outputs we're readable for human but once you got like 100 tests they're pretty unreadable and imprecise. It seems [jest]() is the safest option out there with most integrations, so let's be it.
When I was playing around I liked [karate](), mostly because Gherkin language which combined with jsonpath for transporting data from one request to another in flow is just perfect.
Later on as additional tooling I've found [@cucumber/cucumber](), robot-framework, [playwright]().
testcontainers can be integrated into server environment, this will allow to setup all of the dependencies for integration testing by server itself (however this would not potentially integrate with prisma and atlas migration toolkits)
Requirements
[ ] Server should contain a set of unit tests
[ ] Server should contain integration tests (mostly connection to database)
[ ] Server should contain E2E tests (maybe this can be done globally in repo as E2E are from end-user perspective which require deployment of solution for API and quite of gym for other distributions of application)
[ ] Repository should report test results in a human-readable format that is easy to validate and understand.
There is a one big mess in my eyes when it comes to testing frameworks/tools for the languages, never in my life I've seen somebody was actually testing application even through everyone says "You should test app". So, I think the only thing that's left for me is choosing the tools that are comfortable for my and my tools and work with them.
There are few kinds that I would like to try: Unit tests, Integration Tests, Acceptance Tests, Load Tests, Performance Tests, Behavioural Tests, UI Tests, API Tests and E2E Tests - not sure they are real categories, but I think that minimally represent what I have in mind.
ava
]() for testing TypeScript functions but the problem withava
was reporting as outputs we're readable for human but once you got like 100 tests they're pretty unreadable and imprecise. It seems [jest
]() is the safest option out there with most integrations, so let's be it.karate
](), mostly because Gherkin language which combined with jsonpath for transporting data from one request to another in flow is just perfect.@cucumber/cucumber
](),robot-framework
, [playwright
]().testcontainers
can be integrated into server environment, this will allow to setup all of the dependencies for integration testing by server itself (however this would not potentially integrate withprisma
andatlas
migration toolkits)Requirements