【问题标题】:Unit testing application variables in asp.net mvc在 asp.net mvc 中单元测试应用程序变量
【发布时间】:2015-03-04 02:12:22
【问题描述】:

您好,我在对使用应用程序变量的应用程序进行单元测试时遇到问题。下面是我的测试方法。 accController.Clist(cIn) 调用使用从 global.asax 文件中读取的应用程序变量的方法。我如何以及在哪里声明它以便实际使用应用程序变量。

[TestMethod]
public void TestGetCompanyList()
{
    var accController = new AccSerController();
    CInt cInt = new CInt();
    cIn.Iss = "Other";
    cIn.Tick = "BK";
    var result = accController.GetClist(cIn) as IEnumerable<CList>;
    Assert.IsNotNull(result);
}

我知道使用模拟,但我对模拟没有那么经验。另外我没有编写代码(控制器、模型等),所以我无法更改它的布局。

顺便说一句,我没有任何接口、抽象类或虚拟方法,大多数其他示例都使用其中之一。

【问题讨论】:

标签: c# asp.net-mvc unit-testing


【解决方案1】:

我会考虑使用AmbientContext pattern

这基本上充当了对静态变量或难以访问的变量的可模拟包装

它将允许您保留在 global.asax 中声明的应用程序变量,但在测试时覆盖它们

【讨论】:

    猜你喜欢
    • 2012-03-02
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    相关资源
    最近更新 更多