Being a productive front-end web developer can be challenging at times. In this course we will uncover how the front-end can be unit tested and rapidly prototyped separate from the back-end. We will cover the basics of unit testing and use a variety of tools and techniques to help assist with mocking and prototyping. Then we will uncover how to integrate these techniques with common front-end frameworks such as KnockoutJS, Backbone.js, and AngularJS.
Elijah Manor is a Christian and a family man. He is a Microsoft Regional Director, Microsoft ASP.NET MVP, ASPInsider, and IE userAgent and specializes in front-end web development. He enjoys blogging (http://elijahmanor.com), tweeting (@elijahmanor), and speaking about the things he learns.
Principles of Unit Testing Hello, this is Elijah Manor and this module is entitled Principles of Unit Testing. In this module, we'll cover four main topics. In the ‘What are Unit Tests' clip, we'll explain what a unit test is and look at a simple example. Then we'll proceed to talk about some general things to consider when writing unit tests. Next, we'll uncover some of the excuses that developers commonly state as to why they don't unit test. And finally, we'll conclude by briefly talking about some of the tools that we'll be using over the duration of this course.
Examples of Hard to Test Code Hello, this is Elijah Manor, and in this module, we'll look at some examples of hard to test code. Feel free to contact or mention me on Twitter @elijahmanor. We'll be looking at six different ways that can make code hard to test, including tightly coupled components, private parts, singletons, anonymous functions, mixed concerns, and new operators. As we introduce each of these concepts, we'll describe the issue, take a look at some sample code that has the issue, and then have a brief demo of refactoring the code to alleviate the problem. So, let's get started.
Mocking Your Front-End Application Hello and welcome. This is the module entitled Mocking Your Front-End Application. This is Elijah Manor and you can find me on Twitter: @elijahmanor. In this module we're going to cover ‘What is Mocking' by giving a brief description of what it is and how it's viewed in the development community. Then we'll start to take a look at how we can mock using Native techniques, meaning without any third-party libraries. Then we'll introduce Sinon. js, which is a really nice, rich, mocking library that I highly recommend. And we'll proceed to introduce mockjax, which is an easy way to mock AJAX requests. And then we'll introduce the Amplify Request component, which also enables mocking of requests, but it's focused on a higher level of abstraction. And finally, we'll give some overall recommendations of which tool you should use and when.
Prototyping Your Front-End Application Hello, this is Elijah Manor and this module's entitled Prototyping Your Front-End Application. You can contact me on Twitter: @elijahmanor. In this module, we'll talk about what we mean by Prototyping; how to deal with Static Data as we build an application; we'll introduce the mockJSON library to help us generate semi-realistic data; and then we'll look into various Caching and Edge Cases that you should consider when quickly prototyping your application apart from the server.
Integrating with Front-End Frameworks Hello, and welcome to the last module in this course, entitled Integrating with Front-End Frameworks. I'm Elijah Manor and you could find me on Twitter: @elijahmanor. In this module, we're going to focus on using the techniques we've covered in the last few modules and integrate them into the following frameworks; Knockout. JS, Backbone. js, and Angular. JS.