gpt4 book ai didi

asp.net - 如何在 asp.net-mvc 单元测试中生成 View ?

转载 作者:行者123 更新时间:2023-12-02 13:53:00 24 4
gpt4 key购买 nike

我试图在单元测试中生成 View ,但我无法绕过缺少的 VirtualPathProvider。大多数 View 引擎使用 VirtualPathProviderViewEngine 基类从当前 HostingEnvironment 获取提供程序。

protected VirtualPathProvider VirtualPathProvider {
get {
if (_vpp == null) {
_vpp = HostingEnvironment.VirtualPathProvider;
}
return _vpp;
}
set {
_vpp = value;
}
}

在单元测试中没有 HostingEnvironment,即使我创建一个也没有当前的 VirtualPathProvider。

如何解决这个问题?我必须创建自定义 FakeWebFormViewEngine 吗?

最佳答案

VS Team System 2010 中提供了适合您尝试执行的验收测试的功能。正如 Gregory A Beamer 所提到的,MVC 的单元测试是对 Controller 进行的。您还可以根据您实现模型的方式来测试模型。

这就是引起很多争议的地方。有些人将模型视为业务实体,而我将它们视为特定于 View 的模型的表示。更多的是 View 模型。由于我的模型中没有真正的功能,因此我不必对其进行测试。我在 MVC 之外测试我的 DAL(业务逻辑层)。 MVC 实际上是表示层的一部分。它是您的演示文稿的分层,而不是您的应用程序。您仍然对应用程序进行分层。

就单元测试而言, Controller 是您测试的地方。如果有需要测试的方法,您可以测试您的模型。至于 View ,它们由用户或通过像 Watin 这样的自动化测试来接受测试。

关于asp.net - 如何在 asp.net-mvc 单元测试中生成 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/324492/

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