Code Monkey home page Code Monkey logo

code-samples's Introduction

Code-Samples

Code samples for the book Practical Test Driven Development

What this book covers

Chapter 1 - Why TDD is Important, what is Test Driven Development and why should you care? In this chapter learn what TDD is and why it matters. A compelling argument for TDD will be made and the benefits and more importantly the execution will be shown.

Chapter 2 - Setting up the .NET Test Environment, setup your IDE and configure the testing framework so that you can easily run your tests in C# and .NET. More detail and provide many more examples of growing complexity in the Speaker Meet API.

Chapter 3 - Setting up the JavaScript Environment, configure the JavaScript testing framework so that you can easily run your tests in your IDE. More detail and provide many more examples of growing complexity in the Speaker Meet React application.

Chapter 4 - What to Know Before Getting Started, dive deeper into the Why and How of TDD. Learn the importance of defining and testing boundaries and abstracting away 3rd party code (including the .NET Framework). Discover more advanced concepts such as spies, mocks, and fakes, and how to avoid pitfalls along the way.

Chapter 5 - Tabula Rasa - Approaching an Application with TDD in Mind, how do you get started with a new application? Apply what you've learned in the previous chapters and take the same approach with a full-sized application using Speaker Meet as an example.

Chapter 6 - Approaching the Problem, take the broader problem of the overall application and break it into meaningful chunks that can be developed independently. Learn different approaches to developing an application such as front to back, back to front, and inside out.

Chapter 7 - Test Driving C# Applications, take requirements and assembled user stories and turn them into working software using Test Driven Development. Utilize all the skills you’ve assembled so far to test the boundaries, testing small, individual units.

Chapter 8 - Abstract Away Problems, abstract away 3rd party libraries, including the .NET Framework. Remove dependencies on things such as DateTime and Entity Framework. Learn ways to decouple your application from specific implementations to not only allow your application to be testable but much more flexible and easy to modify in the future.

Chapter 9 - Testing JavaScript Applications, Now that you have a working API it's time to focus on creating a Single Page Application in JavaScript using React. Focus on test driving actions and reducers and any functionality within the application.

Chapter 10 - Exploring Integrations, discover how to write integration tests to ensure your application is functioning properly.

Chapter 11 - Changes in Requirements, what happens when the requirements change? What happens if a bug is discovered? No problem, change a test or write a new one to cover the new requirement or to defend against the discovered bug. Now, write some new code or change some existing code to make all of our new/modified tests pass. If you do everything correctly we should feel safe to make these changes as our existing test suite will cover you from introducing new bugs.

Chapter 12 - The Legacy Problem, there are a lot of applications out there without sufficient (any?) test coverage. Even fewer were written test-first. Discover some of the major problems with legacy applications that weren’t written with testability in mind will be identified and how to best to recover.

Chapter 13 - Unraveling a Mess, how do you go about safely modifying a legacy application that wasn’t written with testing in mind? How can you add tests to minimize the potential for introducing new bugs when modifying existing code? An extreme example will be used to explore these topics and more.

Chapter 14 - A Better Foot Forward, remember, TDD is a personal choice. You don't need anyone's permission to do good work. Advice on how to continue a successful journey of TDD, how to introduce TDD to your team, and how to rejoin the world as a TDD expert.

code-samples's People

Stargazers

Florin C. avatar  avatar Alvaro Silva avatar Clayton Hunt avatar Erick Fleming avatar

Watchers

James Cloos avatar Clayton Hunt avatar John Callaway avatar

code-samples's Issues

Update for Mocha testing with Create React App 2

The original instruction sin the book and the samples here don't work for apps created with Create React App 2. Anyone have any idea how to make this work or how to force Create React App 2.0 to create a project with the same dependencies and other files as the previous versions of create react app? I have tried all kinds of solutions but always run into one roadblock or another and can't find articles on how to do this.

Thanks,

Bill

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.