vendredi 9 août 2019

How to ensure that current version of an application is tested when capybara end-to-end tests are ran

I am developing a rails5 based application with an angular6 front-end. Testing is performed through rspec and I have implemented a set of feature tests which perform end-to-end testing by simulating interaction of a browser with the application through capybara, loosely following this excellent article on rails and capybara integration.

Whenever I make changes to the angular application, I need to manually recompile it before the tests run, otherwise an outdated application gets tested:

ng build --configuration=integration

Rebuilding the application takes about a minute on my setup, so it is not ideal to build the application every time a feature test needs to run.

I have not found a way to rebuild only the changed files or to be a bit smarter, for me it is either manually rebuild when I know something has changed which leads to mistakes, or automatically rebuild always which leads to delays every time I test.

How do you ensure that the current version of an application is tested by capybara without rebuilding the whole thing?

Aucun commentaire:

Enregistrer un commentaire