- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
其他提到 null ViewResults 的问题实际上似乎指的是 null Models(我肯定做计划测试的东西)。我是测试新手。今天刚开始我的第一个使用 TDD 的项目。我找到的一些资源,甚至是新 MVC 项目的库存测试代码,都显示测试 ViewResult 是否为 null:
// Stock code
[TestMethod]
public void Index()
{
// Arrange
HomeController controller = new HomeController();
// Act
ViewResult result = controller.Index() as ViewResult;
// Assert
Assert.IsNotNull(result);
}
我想知道为什么这是必要的。鉴于我有限的经验,我只能想到 ViewResult 为空的两个原因:
原因 1:您返回了错误的类型,例如 JsonResult 或其他类型 - 如果该方法返回一般 ActionResult,则可能会发生这种情况。我可以认为这是一个合法的理由,但我不确定这是我的方法需要专门返回 ViewResult 的要求。事实上,也许我希望它在以后很容易改变。
原因 2:您显式返回 null。但在现实世界中,你为什么要这样做?
有人可以提供其他示例说明 ViewResult 何时为空,并解释为什么(或为什么不)测试它很重要吗?正如我所说,我的经验有限,所以可能会有一些我没有看到的东西 - 这就是我问的原因。
编辑
如果我的问题格式不正确,我深表歉意。让我澄清一下:我知道如果它为 null 是不好的,并且理解测试 null 的值(value)if nulls are possible/likely。我更关心 A. how/why 首先它会是 null,以及 B. 这些原因是否是可以增加测试值(value)的合法原因,或者它们是否不太可能是边缘情况在现实世界中永远不会发生。
我的原因 1 和原因 2 是否涵盖了所有场景?如果没有,还有哪些?如果它们是边缘情况,极不可能发生,您是否仍对它们进行测试?
最佳答案
Can someone give other examples of when the ViewResult would be null
它应该永远是null
,这就是这个测试用例验证的内容。如果开发人员通过某种方式返回 null
在 Controller 代码中引入错误,则此测试用例将失败,并在错误代码投入生产之前挽救许多生命。
关于c# - 单元测试 : Reasons a ViewResult would be null, 为什么值得测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22948466/
我是一名优秀的程序员,十分优秀!