मैं एमवीसी 4 और टीडीडी के लिए नया हूं।एमवीसी 4 टीडीडी - सिस्टम। ऑर्ग्यूमेंट नल अपवाद: मूल्य शून्य नहीं हो सकता है।
जब मैं इस परीक्षण को चलाने का प्रयास करता हूं तो यह विफल रहता है, और मुझे नहीं पता कि क्यों। मैंने कई चीजों की कोशिश की है जो मैं सर्किलों में घूमना शुरू कर रहा हूं।
// GET api/User/5
[HttpGet]
public HttpResponseMessage GetUserById (int id)
{
var user = db.Users.Find(id);
if (user == null)
{
//return Request.CreateResponse(HttpStatusCode.NotFound);
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
}
return Request.CreateResponse(HttpStatusCode.OK, user);
}
[TestMethod]
public void GetUserById()
{
//Arrange
UserController ctrl = new UserController();
//Act
var result = ctrl.GetUserById(1337);
//Assert
Assert.IsNotNull(result);
Assert.AreEqual(HttpStatusCode.NotFound,result.StatusCode);
}
और परिणाम: क्योंकि Request
संपत्ति है कि आप अपने ApiController अंदर उपयोग कर रहे हैं आरंभ नहीं किया है
Test method Project.Tests.Controllers.UserControllerTest.GetUserById threw exception:
System.ArgumentNullException: Value cannot be null. Parameter name: request
उपयोग और विधि दर्ज करते हैं, कुछ' एक तरफ ध्यान दें पर null' – LukeHennerley
होना चाहिए, इकाई परीक्षण से कोई भी स्थिर का उपयोग कभी नहीं करना चाहिए डीबी की तरह संसाधन। आपको इन निर्भरताओं को इंजेक्ट करना चाहिए। क्या होता है जब आपका डीबी बदलता है? आपका यूनिट परीक्षण बेकार है! – Liam
मुझे लगता है कि डीबी शून्य या डीबी है। उपयोगकर्ता शून्य है। –