はじめに
Persimmon の概要、ダウンロードや使い方について。
プロジェクトの作成(またはサンプルプロジェクトの取得)
プロジェクトを作成して NuGet から Persimmon をインストールする (そして NuGet パッケージの復元を有効化する) か、 サンプルプロジェクト をダウンロードしてください。
Persimmon コンソールランナーの入手
以下のコマンドを実行しましょう。
1:
|
|
はじめの一歩
test
コンピュテーション式とアサーションを用いてテストを書けます。
1: 2: 3: 4: 5: |
|
テストの実行
以下のコマンドを実行しましょう。
1:
|
|
テスト名の省略
UseTestNameByReflection
モジュールを open してください:
1: 2: 3: 4: 5: |
|
例外テスト
trap
は例外をキャッチできます。
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: |
|
テストのパラメータ化
Persimmon は パラメータ化されたテストに対応しています。
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: |
|
namespace Persimmon
val ( some variable name ) : TestCase<unit>
val test : name:string -> TestBuilder
val assertEquals : expected:'a -> actual:'a -> AssertionResult<unit> (requires equality)
module UseTestNameByReflection
from Persimmon.Syntax
from Persimmon.Syntax
val ( first test name ) : TestCase<unit>
val test : TestBuilder
exception MyException
val ( exception test ) : TestCase<unit>
val f : (unit -> int)
val raise : exn:System.Exception -> 'T
val e : exn
val trap : TrapBuilder
custom operation: it ('b)
Calls TrapBuilder.It
Calls TrapBuilder.It
property System.Exception.Message: string with get
val typeof<'T> : System.Type
System.Exception.GetType() : System.Type
property System.Exception.StackTrace: string with get
System.String.Substring(startIndex: int) : string
System.String.Substring(startIndex: int, length: int) : string
System.String.Substring(startIndex: int, length: int) : string
val ( case parameterize test ) : seq<TestCase<unit>>
val parameterizeTest : ('a * 'a -> TestCase<unit>) (requires equality)
val x : 'a (requires equality)
val y : 'a (requires equality)
val parameterize : ParameterizeBuilder
custom operation: case ('a)
Calls ParameterizeBuilder.Case
Calls ParameterizeBuilder.Case
custom operation: run ('a -> TestCase<'b>)
Calls ParameterizeBuilder.RunTests
Calls ParameterizeBuilder.RunTests
val inputs : int list
val ( source parameterize test ) : seq<TestCase<unit>>
val parameterizeTest : (int -> TestCase<unit>)
val x : int
custom operation: source (seq<'a>)
Calls ParameterizeBuilder.Source
Calls ParameterizeBuilder.Source