Book Image

Testing with F#

By : Mikael Lundin
Book Image

Testing with F#

By: Mikael Lundin

Overview of this book

Table of Contents (17 chapters)
Testing with F#
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Your first integration test


Writing your first integration test is deceivingly easy. You just call your code without caring about the external dependencies, as we do with unit testing.

We have some code that can get user information from the database by the UserName parameter:

module DataAccess =
    open System
    open System.Data
    open System.Data.Linq
    open Microsoft.FSharp.Data.TypeProviders
    open Microsoft.FSharp.Linq

    type dbSchema = SqlDataConnection<"Data Source=.;Initial Catalog=Chapter05;Integrated Security=SSPI;">
    let db = dbSchema.GetDataContext()

    // Enable the logging of database activity to the console.
    db.DataContext.Log <- System.Console.Out

    type User = { ID : int; UserName : string; Email : string }

    // get user by name
    let getUser name =
        query {
            for row in db.User do
            where (row.UserName = name)
            select { ID = row.ID; UserName = row.UserName; Email = row.Email }
        } |> Seq...