F#: Automated Testing for Developers
Offered By: LinkedIn Learning
Course Description
Overview
Explore techniques for automated software testing in F#. Learn how to improve your test run experience with Ncrunch, work with Unquote to clarify test failures, and more.
Automated testing is a popular topic in software development, but it's still often seen by developers as overhead rather than as an opportunity. By leveraging F# and some external tools and libraries, you can make automated testing easy, enjoyable, and productive. In this course, learn about a variety of techniques for writing automated testing code in F#.
Kit Eason explains how to use xUnitâa .NET unit-testing packageâto do some test-driven development, and demonstrates how to improve your test run experience using NCrunch, a test runner. He shows how to use FsCheck to generate test cases, and how to use Expecto to move into the world of tests as first-class values. He also covers the use of Canopy to automate the testing of web user interfaces, and of mocking to tame dependencies.
Automated testing is a popular topic in software development, but it's still often seen by developers as overhead rather than as an opportunity. By leveraging F# and some external tools and libraries, you can make automated testing easy, enjoyable, and productive. In this course, learn about a variety of techniques for writing automated testing code in F#.
Kit Eason explains how to use xUnitâa .NET unit-testing packageâto do some test-driven development, and demonstrates how to improve your test run experience using NCrunch, a test runner. He shows how to use FsCheck to generate test cases, and how to use Expecto to move into the world of tests as first-class values. He also covers the use of Canopy to automate the testing of web user interfaces, and of mocking to tame dependencies.
Syllabus
Introduction
- Welcome
- What you should know
- Working with the sample code
- Solving issues with early versions of Visual Studio 2017
- What are automated tests and why do they matter?
- Creating a testable project and installing Paket and xUnit
- Creating your first tests
- Test driving an implementation: Part 1
- Test driving an implementation: Part 2
- Providing functional dependencies to tests
- Exercise: Removing nulls from your implementation
- Exercise solution: Removing nulls from your implementation
- Introducing NCrunch: A marvelous test runner
- Organizing tests in NCrunch
- Exercise: Extending test coverage
- Exercise solution: Extending test coverage
- Introducing property-based testing with FsCheck
- Applying property-based testing
- Supplying additional values
- Controlling FsCheck test data generation
- Exercise: Writing an FsCheck test using a generator
- Exercise solution: Writing an FsCheck test using a generator
- Using Unquote to clarify test failures
- Introducing first-class tests with Expecto
- Writing tests in Expecto
- Writing property-based tests in Expecto
- Exercise: Converting tests to use Expecto
- Exercise solution: Converting tests to use Expecto
- Introducing mocking with Foq
- Web UI testing with Canopy
- Next steps
Taught by
Kit Eason
Related Courses
A Practical Introduction to Test-Driven DevelopmentLearnQuest via Coursera MOQ
Board Infinity via Coursera Master Java Unit Testing with Spring Boot and Mockito
Packt via Coursera Unit Testing for Data Science in Python
DataCamp Up and Running with redux-observable
egghead.io