Recently I’m discovering a whole new world. The client side world. Last years I was developing a lot of webpart for SharePoint, but looking into the future we see a that many sites depend on a heavy frontend. As this client side is getting bigger and bigger, more code is produced. There’s also a need to test this code on a structured way. There I was looking in the last couple of weeks what’s around to do this.
Where I’m originally a ASP.NET guy, I work with Visual Studio. So looking for all available frameworks and tools I kept in mind it should be working with Visual Studio but it should also stay close to how the inventors of AngularJS did meant it. I made a list of tools and frameworks that are out now and are very helpful.
Angular scenario Framework: Since Angular v1.2. On their site they advise to use Protractor. If you are starting a new project, we recommend using Protractor for e2e testing AngularJS projects.
Protractor: Protractor is an end to end test framework for AngularJS applications. It’s built on top of WebDriverJS. Protractor runs tests against your application running in a real browser, interacting with it as a user would. You can use together with Jasmine. To run it’s tests it uses selenium. It will replace the Angular scenario Framework.
For now my choice will be a combination of the Jasmine framework for unit testing and Protractor for e2e testing. Jasmine is easy to use and there’s a lot of documentation on the internet. Together with the Chutzpah tooling for Visual Studio does this give me great integration for unit testing. For e2e testing I'll work with protractor. Integration with Visual Studio is not available but this stays close to how the AngularJS team meant it.