SORU
3 HAZİRAN 2012, Pazar


ASP.NET WebApi birim İsteği ile test.CreateResponse

Benim ApiController için bazı birim testleri yazmak için çalışıyorum ve bazı sorunlar ile karşı karşıya. İyi eğlenceler bir İstek yöntemi denir.CreateResponse yanıt üreten ile bir çok yardımcı olur.

public HttpResponseMessage Post(Product product)
{
  var createdProduct = repo.Add(product);
  return this.Request.CreateResponse(HttpStatusCode.Created, createdProduct);
}

Orada kısmi alay kullanarak veya doğrudan kullanmadan alay CreateResponse için herhangi bir yolu var mı "yeni HttpResponseMessage(...)"?

CEVAP
8 HAZİRAN 2012, Cuma


Bunu çözmenin başka bir yolu şudur:

controller.Request = new HttpRequestMessage();
controller.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());

Eğer 5.0, webapi yükseltme yapıyorsanız bunu değiştirmek için ihtiyacınız olacak:

controller.Request = new HttpRequestMessage();
controller.Request.SetConfiguration(new HttpConfiguration());

Bunu yapmak için ihtiyacın sebebi Request Request uzatma yöntemleri işe yaramaz denetleyicisi başkaca kalabalık var çünkü. Ayrıca İstek yoksa yönlendirme HttpConfiguration bir set olması ve boru hattının diğer parçaları düzgün olmaz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013