के कारण विफल रहता है मेरे पास एनयूनीट परीक्षणों की एक श्रृंखला है और कुछ विफल हो रही हैं, फिर भी मुझे कोई कारण नहीं दिख रहा है, और अपवाद मुझे कुछ भी नहीं बता रहा है।NUnit परीक्षण System.AccessViolationException
//Controller Action
[HttpPost]
[AjaxExceptionHandler]
[OutputCache(Duration = 0)]
public PartialViewResult SomeAction(long id)
{
try
{
var model = _repository.GetModel(id);
return PartialView(@"MyPartialView", model);
}
catch (Exception ex)
{
exceptionManager.HandleException(ex, FT_EXCEPTION_POLICY);
throw;
}
}
//Action Unit Test
[Test]
[Category(TestConstants.UnitTest)]
public void SomeAction_Returns_Expected_View()
{
var model = Builder<ViewModel>.CreateNew().Build();
repository.Stub(it => it.GetModel(Arg<long>.Is.Anything)).Return(model);
var viewResult = (PartialViewResult)someController.SomeAction(1);
Assert.AreEqual(@"MyPartialView", viewResult.ViewName);
}
यूनिट टेस्ट अपवाद::
System.AccessViolationException: पढ़ने या संरक्षित स्मृति लिखने के लिए प्रयास किया गया यह मेरा मामला है। यह अक्सर एक संकेत है कि अन्य स्मृति भ्रष्ट है।
यदि मेरी कार्रवाई में मैं आंशिक दृश्य के लिए एक शून्य मान पास करता हूं, जैसे: return PartialView(@"MyPartialView", null);
फिर परीक्षण पास हो जाता है।
अन्य समान मामले भी असफल होते हैं, फिर भी अन्य पास होते हैं। मैं प्रत्येक के लिए एक कारण की पहचान करने में सक्षम नहीं हूं।
क्या कोई मुझे गलत पहचानने में मदद कर सकता है?
धन्यवाद,
संपादित करें: ठीक है, मैं सभी अन्य नाकाम रहने के परीक्षण तय है और अब मैं System.AccessViolationException बाईं के साथ ही लोगों की है।
जोड़ा सेटअप प्रक्रिया मेरी परीक्षण फार्म:
[SetUp]
public void SetUp()
{
controllerBuilder = new TestControllerBuilder();
repository = MockRepository.GenerateStub<ISomeRepository>();
someController = new SomeController
(repository);
controllerBuilder.InitializeController(someController);
}
क्या यह परीक्षण पास होता है यदि आप आउटपुटचैच विशेषता को हटाते हैं? – David
@Dvd - एक ही विशेषता वाले अन्य क्रियाएं बिना किसी समस्या के गुजरती हैं ... लेकिन मैं कोशिश करूंगा ... अभी मैं अंधेरे में शूटिंग कर रहा हूं, देखें कि क्या हिट। संपादित करें: नहीं ... एक ही परिणाम। – AJC
बस निश्चित होने के लिए, क्या यह परीक्षण विफल रहता है जब अलगाव में चलाया जाता है या केवल जब पूरा सूट चलाया जाता है? –