Driving Your C# Code with Tests

Testing forms an integral part of the modern software development flow. From customer-facing acceptance tests to code-focused unit tests, automated testing is part of the fabric of a modern build process and deployment pipeline. But it's not enough that there are some tests: to be a help, not a hindrance, tests need to communicate not just verify, and testing needs to be a development habit, not an afterthought. In this online course, you will learn about good unit tests (GUTs) and test-driven development (TDD) by seeing what it takes, putting them into practice, and reviewing what you've learned. What practices support readable and maintainable tests? What test pitfalls hold developers and products back? How do you make testing fun and not a chore? Join us to answer these questions and more. The examples and hands-on exercises will use C# and NUnit, but you don't need to be a C# guru to take part.

    Topics covered include:

    • What do we mean by unit tests?
    • How do unit tests fit into the testing and development landscape?
    • What do GUTs look like?
    • The elements of TDD
    • Core NUnit features
    • Data-driven tests and how to choose test data
    • Test naming and nesting
    • The anatomy of test cases and test suites
    • Plain ol' unit testing (POUT), defect-driven testing (DDT) and iterative test-last (ITL)
    • Identifying and adjusting overfitting and underfitting tests
    • Reasons writing tests can be hard, and how to respond
    • Mocks, stubs and other test doubles
    • When to use values instead of test doubles
    • Testing and legacy code
    Kevlin Henney
    Programming · Patterns · Practice · Process

    Kevlin is an independent consultant, trainer, speaker and writer. His development interests and work with companies covers programming, practice and people. He is a contributor to the Modern Software Engineering YouTube channel. Kevlin is also co-author of two volumes in the Pattern-Oriented Software Architecture series, editor of 97 Things Every Programmer Should Know, co-editor of 97 Things Every Java Programmer Should Know and former columnist for a number of magazines and sites.

    NDC Conferences uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?