मैं अपने PostMyModel
मार्ग का यूनिट परीक्षण चला रहा हूं। हालांकि, PostMyModel()
के भीतर मैंने अपना मॉडल बदलने के बाद Validate<MyModel>(model)
लाइन का उपयोग किया। मैं एक परीक्षण संदर्भ का उपयोग कर रहा हूं, ताकि यूनिट परीक्षणों के लिए डीबी पर निर्भर न हो। मैं परीक्षण संदर्भ और नीचे पोस्ट विधि पोस्ट किया है:मान्यता यूनिट परीक्षणों में विफल रहता है
System.InvalidOperationException: ApiController.Configuration must not be null.
:
टेस्ट प्रसंग
class TestAppContext : APIContextInterface
{
public DbSet<MyModel> MyModel { get; set; }
public TestAppContext()
{
this.MyModels = new TestMyModelDbSet();
}
public int SaveChanges(){
return 0;
}
public void MarkAsModified(Object item) {
}
public void Dispose() { }
}
पोस्ट विधि
[Route(""), ResponseType(typeof(MyModel))]
public IHttpActionResult PostMyModel(MyModel model)
{
//Save model in DB
model.status = "Waiting";
ModelState.Clear();
Validate<MyModel>(model);
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.MyModels.Add(model);
try
{
db.SaveChanges();
}
catch (DbUpdateException)
{
if (MyModelExists(model.id))
{
return Conflict();
}
else
{
throw;
}
}
return CreatedAtRoute("DisplayMyModel", new { id = model.id }, model);
}
जब Validate<MyModel>(model)
लाइन चलाता है, मैं त्रुटि मिलती है
मैं इसे कैसे ठीक कर सकता हूं?
साथ सरल हो सकता है: controller.Request = नए HttpRequestMessage(); नियंत्रक। अनुरोध। प्रॉपर्टीज ["MS_Http कॉन्फ़िगरेशन"] = नया एचटीपी कॉन्फ़िगरेशन(); – ccook