Showing posts from July, 2018

Angular Anti-Patterns

BugReplay Guest Blog Written by Tristan Jesse = Angular Anti-Patterns I've been developing with Angular for the better part of a year now and along the way I've come across some common anti-patterns  that can really hamper progress as your application scales. There are all sorts of anti-patterns, which I could go on for days about, but here I'll be talking about file structure, naming conventions, and logical structure. For newer developers, even skilled ones from time to time, falling into programming anti-patterns is easy and common. What every developer should aim for is to follow design patterns  (generally agreed upon as good practice) as much as they can to complete their task. If you aren't following good design patterns, then more often than not down the line you will run into bugs you can't track down, spaghetti code , and bloated components or modules giving you headaches. With Angular , there are quite a few rules and recommendations to be f

Protractor and Headless Chrome

BugReplay Guest Blog Written by Matthew Lilley = Following our previous article Up and Running with Headless Chrome , this article will briefly explore both Protractor and Headless Chrome, what they are, and when and why you should use them. Next, we’ll put them to practice by testing a simple Angular 4 application, end-to-end, with Protractor, which will use Headless Chrome. First, what’s Protractor? From the Protractor site : “Protractor is an end-to-end test framework for Angular and AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.” It’s used to simulate actions you expect users to take within your application, and test the outcomes against your expected outcomes. And Headless Chrome? To put it simply, it’s a reference to using Google Chrome with Headless Mode enabled. Headless Mode allows Chrome to run without a graphical user interface (GUI), so it doesn’t need to render th