OITA: Oika's Information Technological Activities

@oika 情報技術的活動日誌。

Test

DbUnit : テストデータの日付・時刻を相対的な値で指定する

やりたいこと:DbUnit のテストデータで、DATETIMEなどのカラムに、「1時間前」「1日前の12:00」みたいな、現在日時からの相対時刻を入れたい。 たとえば直近3日間の履歴を取得して返すAPIのテストであれば、3日前あたりの境界値レコードがテストデータとし…

react-query : useQuery への依存をスタブに差し替えてコンポーネントテスト

引き続き React Query の話。 ある関数コンポーネントが useQuery によって取得される外部データに依存している場合に、そのuseQueryで取得される外部データをダミーに置き換えて、コンポーネントテストを書く方法。 なかなかまとまった情報が見つからなかっ…

ASP.NET HttpApplicationへの依存をスタブ化する

Visual C# .NET を使用して ASP.NET HTTP モジュールを作成する方法に、ASP.NETでhttpモジュールクラスを自作する方法が書かれている。 ポイントだけ書くと、以下のようになる。 IHttpModule インタフェースを実装する HttpApplication から購読するイベント…

C# 非公開メンバへアクセスするためのReflectionラッパーライブラリ「Merror」公開

privateなフィールドの値を外からいじったり、 protectedメソッドを外から使ったり、 privateコンストラクタしか持ってないクラスのインスタンスを作ったり、 そういう掟破りなことをするReflectionのメソッド群を いくらか直感的に使うためのラッパを作りま…

.NET 入れ子になった内部クラスの型をリフレクションで参照する

パブリックでないメンバやクラスにアクセスする手段として C#ではリフレクションのメソッド群が System.Reflection名前空間に用意されている。 たとえば、internalなクラスのprivateなメンバに 参照プロジェクトからアクセスするサンプルなこんな感じ。 アク…

NUnit 例外テストの評価をデバッガ上で実行できない問題

NUnitを使ってテストを書くときに テストコードのプロジェクトをコンソールアプリとかにしておいて Mainメソッドの中でGUI Runnerを呼び出すようにすれば いちいちNUnitを別で立ち上げずにexeからテストを開始できたり、 VisualStudio上でデバッガ実行できた…