Persimmon 2.0.1とPersimmon.MuscleAssert 1.0.0をリリースしました

表題の通りですが、他にもDiff.Match.Patch 2.0.1とFSharp.Object.Diff 1.0.0もリリースしています。

NuGet Gallery | Persimmon 2.0.1

NuGet Gallery | FSharp.Object.Diff 1.0.0

NuGet Gallery | Diff.Match.Patch 2.0.1

NuGet Gallery | Persimmon.MuscleAssert 1.0.0

変更点はPCLや.NET Core対応、機能追加、bug fix、F# 4.1サポート、Visual Studio拡張のためのコードベース変更です。

注意点として、まだVisual Studioのテストエクスプローラー拡張や.NET Core用のAdapterはリリースできていないので実行できない点です。 あくまでライブラリが.NET Coreで実行できるようになったというところに悲しみが漂っていますね…。

本当はそれらも一緒にリリースできれば良かったのですが、謎の挙動によりテストが一部実行できないという状況のためライブラリ群と.NET Framework用コンソールランナーだけを先行リリースすることにしました。

バイナリ互換はありませんがソースコードレベルでの互換性は保っているつもりです。

残りの作業

  • Visual Studioテストエクスプローラー用の拡張
    • 一部テストが実行されない問題を解決する
    • とはいえ私が必要としていないので永遠にリリースされない可能性もあり得る
  • .NET Core用のアダプター
    • モジュール変数として束縛したテストがnullになる現象を解決する(ちなみに関数やメソッド、プロパティとして定義したテストは動く)
    • アセンブリはロードされているみたいでたちが悪い…
  • Persimmon.DriedをPersimmon 2.xベースにする
    • ついでにFsRandomの.NET Core対応をがんばる
    • FsPicklerの.NET Core対応が当分先になりそうなのでMessagePackへの移行も考慮する(できればやりたくないけど)
  • .NET Core SDK向けのテンプレートを作る
  • Xamarin系のランナーを作る
    • iOSAndroidシミュレータ上でテストを実行したい
  • モックライブラリを作る
    • Foqで問題ないけど、なんかこれじゃない感もある
  • Power Assertを作る…?
    • 気が向いたら
    • 最初はたぶんunquoteをラップする方針で作業する
    • なんで作るかと言えば、同値比較以外のアサーションが未だに貧弱だから
  • ドキュメントを増やす
    • 増やせないフラグ
  • プロジェクトサイトを作る
  • ミューテーションテストフレームワーク構想
    • fscxを使えばできそう
  • テストの分散実行
    • Persimmon.Ripeをもうちょっといい感じにしたい
    • TCPソケットでプロセスの通信とか

明らかに1人で作業する分量ではない(確信)。 まぁ、手がまわらないなら切り捨てるか放り投げるだけなので問題ない(?)はず。