SORU
29 EYLÜL 2010, ÇARŞAMBA


Nasıl alay ModelState.Adedi çerçeve kullanarak İsValid?

Bu gibi bir Çalışanın oluşturduğu denetleyicisi eylem benim yöntemi ModelState.IsValid kontrol ediyorum:

[HttpPost]
public virtual ActionResult Create(EmployeeForm employeeForm)
{
    if (this.ModelState.IsValid)
    {
        IEmployee employee = this._uiFactoryInstance.Map(employeeForm);
        employee.Save();
    }

    // Etc.
}

Bu birim test yöntemi Adedi Çerçeve kullanarak dalga geçmek istiyorum. Böyle alay etmeye çalıştım:

var modelState = new Mock<ModelStateDictionary>();
modelState.Setup(m => m.IsValid).Returns(true);

Ama bu birim test benim için bir istisna atar. Biri bana yardım edebilir mi?

CEVAP
29 EYLÜL 2010, ÇARŞAMBA


Dalga geçmeye gerek yok. Eğer zaten bir denetleyicisi varsa test başlatırken model devlet bir hata ekleyebilirsiniz:

// arrange
_controllerUnderTest.ModelState.AddModelError("key", "error message");

// act
// Now call the controller action and it will 
// enter the (!ModelState.IsValid) condition
var actual = _controllerUnderTest.Index();

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • KliptOut KwazeeKilla

    KliptOut Kwa

    24 ŞUBAT 2010
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008