Я следую подходу TDD для разработки моего веб-сайта MVC. У меня есть PaymentController
, который будет иметь метод действия MakePayment
который я тестирование с использованием метода испытания, как указано ниже:Действия контроллера блока тестирования, которые перенаправляются на другое действие
[TestMethod]
public void MakePaymentLoad()
{
PaymentController payController = new PaymentController();
ViewResult payResult = payController.MakePayment() as ViewResult;
Assert.IsNotNull(payResult);
}
[TestMethod]
public void MakePaymentResult()
{
PaymentController payController = new PaymentController();
Payment payment = new Payment {
BillerId = 1,
PayAmt = 1.0,
PayDt = DateTime.Now,
ConfCode = null,
BillAccount = "123",
PayStatus = 1,
FeeStatus = 1,
Platform =1
};
ViewResult payResult = payController.MakePayment(payment) as ViewResult;
PaymentResult result = payResult.Model as PaymentResult;
Assert.IsNotNull(result.ConfCode);
}
В приведенных выше методов испытаний MakePaymentLoad
только проверяет, является ли представление визуализируется и MakePaymentResult
выселяется если код подтверждения присутствует в модели представления.
методов мое действие приведены ниже:
[HttpPost]
public ActionResult MakePayment(Payment payment)
{
PaymentResult payResult = new PaymentResult {
ConfCode = "123"
};
if (true)
{
TempData["ConfCode"] = "123";
return RedirectToAction("Confirmation");
}
return View(payment);
}
public ViewResult MakePayment()
{
return View();
}
public ActionResult Confirmation()
{
PaymentResult result = new PaymentResult {
ConfCode = Convert.ToString(TempData["ConfCode"])
};
return View(result);
}
The MakePaymentLoad
проходов, как это проверить, только если вид оказывается тогда MakePaymentResult
треском проваливается как результат метода действия является недействительным из-за использования RedirectToAcion
внутри MakePayment's
пост версия. Пожалуйста, дайте мне знать, как это исправить.
is 'if (true)' намеренный? если он всегда туда пойдет, тогда нет необходимости в условном, а также в представлении – Nkosi
Я следую подходу TDD. Изначально нам нужно сделать единичный тестовый чек с минимальным минимальным кодом. После этого код реорганизуется. –
Я понимаю подход TDD. Но что вы хотите проверить. перенаправление вида? потому что действие всегда будет перенаправляться с текущим кодом. – Nkosi