Deliver high-quality, bug-free applications by testing them with efficient and expressive functional programming In Detail Starting with an introduction to the concepts behind test automation, you will learn how to set up your test environment for unit testing and how to execute your test suite within and outside of Visual Studio. Using different test frameworks as MSTest, NUnit, and xUnit, you will learn how to write tests in isolation, create test doubles with Foq, and write expressive assertions with FsUnit. You will learn techniques used to mock database contexts, test stored procedures, use migrations to test databases in isolation, control a web browser with Canopy, and test web services with F# interactive. You will learn how these techniques apply to Agile principles and discover how testing fits into your project. What You Will Learn Set up a test environment in your code base Write unit tests, integration tests, and functional tests for F# applications Leverage tools such as FsUnit, Foq, Canopy, and TickSpec to run tests both inside and outside your development environment Maximize the productivity of your test code using the language features of F# Extract dependencies to databases, web services, and other IO bound operations Test your applications using executable specifications on a web browser Discover the best practices for developing a sustainable test suite Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.