3 ms·
EDIT: I put a lot of emphasis on testing but didn’t mention what technologies I would use. For C# I would use XUnit or something similar there’s a few good ones
by benstopics 4y ago
EDIT: I put a lot of emphasis on testing but didn’t mention what technologies I would use. For C# I would use XUnit or something similar there’s a few good ones. For integration testing specifically the db and api layers together I would use XUnit with a containerized docker compose of SQL Server and the application and maybe even use pytest to hit and assert the API, there are many ways you could do this. Same for the Python API, just use pytest and do what you need to do. For e2e I think Cypress is better than Selenium. Selenium is server/client based and requires more boiler plate code. Cypress can be ran as a command line tool, can record video per test, comes with an IDE and has a time travel feature. The only downside is that if you don’t understand React life cycle then the errors you get may be extremely difficult to troubleshoot. Most of the time it involves simplifying your state change events and reducing the number of asynchronous function calls. Selenium I have found is much more forgiving than Cypress, supports XPath out-of-the-box, and is a bit more forgiving when it comes to rendering. But in either product it would be recommended to wrap the base selector function in a while loop try catch which would eliminate this issue altogether.