gpt4 book ai didi

unit-testing - 我应该测试未调用方法吗?

转载 作者:行者123 更新时间:2023-12-04 04:17:47 24 4
gpt4 key购买 nike

假设我有这段代码:

[HttpPost]
public ActionResult Edit(MyViewModel viewModel)
{
if (ModelState.IsValid)
{
_myRepository.SaveStuff(viewModel.Property1, viewModel.Property2);
return RedirectToAction("MyAction", "MyController");
}
else
{
return View("Edit", viewModel);
}
}

这是 ASP.NET MVC,但这实际上与我的问题无关。真正的要点是只有在满足要求时才会调用方法 (SaveStuff)。现在我想为这个方法编写单元测试...

我测试调用存储库中的方法,并在模型状态有效时返回 RedirectToRoute。我测试当模型状态无效时返回 ViewResult。

我的问题是,我是否还应该编写一个测试来确保在模型状态无效时调用存储库中的方法?这似乎是一个不错的选择测试以确保我没有得到任何不需要的保存。但我觉得如果我走那条路,测试事情不会发生,我必须编写的测试量会增加很多......

最佳答案

回答你的问题,是的。你绝对应该测试一个方法在不应该被调用的时候没有被调用。您绝对不希望您的应用程序保留无效数据。

如果将所有内容分解为单独的测试,测试的数量会增加,这也是正确的。不过,您的测试可以有多个断言。当状态无效时,我会结合这两个断言。这将使您免于编写几乎相同的测试。

关于unit-testing - 我应该测试未调用方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com