0
EF 4.0でASP.MVC 3アプリの単体テストを書いていますが、テスト中にSystem.NullReferenceExceptionに問題があります。サービスレイヤでこのメソッドをテストしています。ユニットテストNullReferenceException文字列プロパティの問題があります
public IQueryable<Pricing> GetPricing(int categoryID)
{
var query = from t in _repository.GetAllPricing()
where t.FK_Category == categoryID
where t.Status.Equals("1")
select t;
return query;
}
うまくいきました。しかし、ステータスがヌルに等しく、私が
svc.GetPricing(1).Count();
をテストメソッドで呼び出すと、例外がスローされます。私は偽のリポジトリと他の(空の)文字列をうまく使っています。
pricing.Status = null;
の代わりにpricing.Status = Convert.ToString(null);
を使用しようとしましたが、これはどちらでも動作しません。
ありがとう、テストパス:
代わりに、等価演算子を呼び出すことができます。ですから、Equalsとwhen ==を使うときは?アプリケーションが正常に機能した場合、テストのみが失敗します。 – xxviktor
variable.Equals(other)はUNLESS変数が動作する(またはnullになる)可能性があります。私は==安全面にいることに固執します。 –