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

  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010