Skip to content

Instantly share code, notes, and snippets.

@smallgeek
Created August 26, 2012 07:02
Show Gist options
  • Select an option

  • Save smallgeek/3475461 to your computer and use it in GitHub Desktop.

Select an option

Save smallgeek/3475461 to your computer and use it in GitHub Desktop.
NaturalSpec_Tutorial_4_2
// 1. モジュールを定義する
module CarSpec
// 2. NaturalSpec 名前空間を開く
open NaturalSpec
// 3. プロジェクトの名前空間を開く
open CarSellingLib
// 再利用可能な値を定義する
let DreamCar = new Car(CarType.BMW, 200)
let LameCar = new Car(CarType.Fiat, 45)
// 4. モックオブジェクトを定義し、それに名前をつける
let Bert = mock<IDealer> "Bert"
// 5. BDDスタイルでメソッドを作成する
let selling_a_car_for amount (dealer:IDealer) =
printMethod amount
dealer.SellCar amount
// 6. シナリオを作成する
[<Scenario>]
let When_selling_a_car_for_30000_it_should_equal_the_DreamCar_mocked() =
As Bert
|> setup <@ fun x -> x.SellCar @> (fun _ -> DreamCar) // 7.モックの呼び出しを登録する
|> When selling_a_car_for 30000
|> It should equal DreamCar
|> It shouldn't equal LameCar
|> Verify
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment