somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【Visual Studio】NaturalSpecのインストール【NuGet】

前回インストールしたNuGetを使ってNaturalSpecをインストールします。(かなり昔の物)

NuGetパッケージの管理

下記のどちらかの方法で管理画面を開きます。

  • ツールタブ>ライブラリパッケージマネージャー>ソリューションのNuGetパッケージの管理
  • ソリューションエクスプローラーで右クリック>NuGetパッケージの管理

ソリューション単位で管理できるようです。NuGet公式パッケージソースには含まれていないので、検索してください。今回のバージョンは、1.4.5.1です。依存関係にNUnit(2.6.0.12051)が表示されていました。

インストール

インストールボタンを押下します。依存関係を考慮しながらインストールが開始されてます。

インストールが完了すると、パッケージの右上に緑のアイコンが表示されインストール済みであることを確認できます。

インストール済みのパッケージには、NaturalSpecとNUnitが表示されていました。

インストールされたもの

以下のとおりです。

C:.
│  Packages.dgml・・・(用途不明)
│
├─ConsoleApplication1
│      app.config・・・runtimeやassemblyと書いてあるファイル(用途不明)
│      packages.config・・・パッケージのバージョンなどが記載されたxml
│      Sample.fs・・・NaturalSpecのサンプル
│
└─packages
    │  repositories.config・・・packages.configへのパスが書かれている(用途不明)
    │
    ├─NaturalSpec.1.4.5.1
    │  │  NaturalSpec.1.4.5.1.nupkg・・・NuGetで配布されているパッケージの実体(Zip)
    │  │
    │  ├─Content
    │  │      Sample.fs.pp・・・NaturalSpecのサンプルのコピー元
    │  │
    │  ├─docs
    │  │  │  ドキュメントファイル(index.htm, js, css, idexから参照するhtmファイル)
    │  │
    │  └─lib
    │          NaturalSpec.dll・・・NaturalSpec本体
    │          NaturalSpec.pdb・・・Microsoft Debug File
    │
    └─NUnit.2.6.1
        │  license.txt・・・ライセンス
        │  NUnit.2.6.1.nupkg・・・NuGetで配布されているパッケージの実体(Zip)
        │
        └─lib
                nunit.framework.dll・・・nunit本体
                nunit.framework.xml・・・nunit関連メッセージ?
 

いろいろインストールされました。NuGetのために必要なものと、NaturalSpecのために必要なものを把握しておくといいと思います。NaturalSpecのために必要なものはdll(メッセージのxmlも?)です。

dllの参照設定

ライブラリを使えるように参照設定を行います。通常、以下の手順で行いますが、パッケージからインストールする段階で参照の追加が行われていました。

  1. ソリューションエクスプローラーで右クリック>参照の追加
  2. 参照タブから、対象となるライブラリを選択

参照しているライブラリを選択すると、オブジェクトブラウザーが表示され、中の構造を見ることができました。

サンプル

以下、インストールされたサンプルです。

module Library1.NaturalSpecSample

open NaturalSpec

[<Scenario>]
let ``After removing 3 from a list it should not contain 3``() =
  Given [1;2;3;4;5]              // Arrange test context
    |> When removing 3           // Act
    |> It shouldn't contain 3    // Assert
    |> It should have (length 4) // Assert      
    |> It should contain 4       // Assert
    |> Verify                    // Verify scenario

参考