モックを簡単に作成できるライブラリの Moq 使ってますか?
モックを利用していて、返り値に Null を設定したいことはよくあるかと思います。
解決策
returns() の引数に渡すときに null を関数本来の戻り値の型にキャストしてやる。
コンパイラ的に考えると null 自体には、型が無いので、モック対象の関数と型があっているかは証明できないですものね... 明示的にキャストすることで型を指定することができて、設定できるというオチでした。
コード
public interface Ihoge { String GetName(); } public class hoge:Ihoge { String GetName() => "ku"; } [Fact] public void モックの返り値にNullを設定する() { var hogeMoq = new Mock<IHoge>(); hogeMoq.Setup(obj => obj.GetName()).Returns((String) nulll); // あとはお好きなコードを... }