Deliver high-quality, bug-free applications by testing them with efficient and expressive functional programming
About This Book
-
Maximize the productivity of your code using the language features of F#
-
Leverage tools such as FsUnit, FsCheck, Foq, and TickSpec to run tests both inside and outside your development environment
-
A hands-on guide that covers the complete testing process of F# applications
Who This Book Is For
If you are a developer who wants to test applications using F#, this is the book for you. Basic experience of testing and intermediate experience of functional programming in F# is expected.
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
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.