2012-08-31 7 views
7

私はSUTファクトリとしてAutofixtureを使用していますが、nullインスタンスをフリーズするのに問題があります。AutoFixtureでヌルイ​​ンスタンスをフリーズするには

私のような何かをしたいと思います:

_fixture.Freeze<IPayPalConfiguration>(c => null); 

が、すぐにはそれが間違っていた実現。私はこれを使用して問題を回避しました:

_fixture.Inject((IMyInterface)null); 

しかし、それは正しくないようです。

誰かがHiveMindに正しい解決策を提供してくれることを望みます。

答えて

6

は内部的には、Freezeは、要求された型(例えばIPayPalConfiguration)のインスタンスを作成し、あなたは再びそれを要求したとき、それは常にそのインスタンスを返しますので、その後それを注入します。

この場合、_fixture.Inject((IPayPalConfiguration)null)を実行すると、null参照が手動で挿入されるので、Freezeメソッドの作成部分はスキップします。 フリーズIPayPalConfigurationを1つの値(実際にはここではヌル参照)にするのではなく、手動で行います。

この_fixture.Freeze<IPayPalConfiguration>(c => null)IPayPalConfigurationと例外ArgumentNullExceptionがスローされた理由を解決しようとします方法ためのnull参照を渡すことに注意してください。

+0

フィードバックに感謝し、少なくとも私が間違ったことをしていないことを確認しました –

関連する問題