コミケ告知

サークル活動の詳細は circle タグの記事へ。
2013年4月29日月曜日

F#のUnit Test、FsUnitの設定(VS2012)

問題点

F#でもテストを書こうと、NuGet経由でFsUnitをインストールしてみたものの、当初は動作させようとするとFileNotFoundExceptionが出て動きませんでした。"FSharp.Core, Version=4.0.0.0"というアセンブリを探していますが、手元のFSharp.Coreは4.3.0.0なのです。

解決方法

FsUnit公式のVisual Studio 11 Supportのところを読むと、Add-BindingRedirect projectnameを使えと書いてあります。
Powershellのコマンドのようですが、普通にPowershellを起動してもだめで、VisualStudioのメニューから起動する必要がありました。ツール→ライブラリ パッケージ マネージャ→パッケージ マネージャ コンソールです。


ここで Add-BindingRedirect コマンドを使えば、App.configが更新されて、無事FSharp.Coreを読み込めるようになりました。こんなつまらんことで、1時間以上はまりましたorz Microsoft(.NET)慣れした人なら、こんなことは無いのですかねえ。

FsUnitというよりNuGet自体のバッドノウハウでしょうか。なんだか微妙なパッケージ管理ですね…

FsUnitの設定

F# Library Projectは直接実行できないので、隣にF# Console Appのプロジェクトを作って、そちらでテストを書いています。普通にmain関数でテストを順々に呼んでいるのですが、このやり方は正しいのでしょうかね…?
Console Appについては昨日の記事参照。新規作成後、いらんファイル消して、NuGetでFsUnit入れて。さらにテストプロジェクトのReferencesを右クリックして、参照の追加→ソリューションからテスト対象のプロジェクトを追加しています。

0 件のコメント:

コメントを投稿