c# – 我们可以在.aspx.cs页面中编写单元测试方法吗?

我们可以在.aspx.cs页面中编写测试方法吗?
如果是,那怎么样?
我需要为Page_Load方法中的代码编写测试方法.
请建议是否有任何解决方案.

解决方法

可能你可以,但是如果你将Page_Load方法的逻辑提取到模型类中然后单独测试它会更加清晰.

为什么?

>在其他页面中重用该方法的逻辑
>更好地分离模型和演示文稿
>更容易测试的清洁代码

样品:

// Home.aspx.cs
Page_Load()
{
    //Lots of code here
}


// or else Home.aspx.cs
Page_Load()
{
    Foo f = new Foo();
    var result = f.DoThings();
}

//Unit test
Page_Load_FooDoesThings()
{
    //Arrange
    Foo f = new Foo();
    var expected = ...;

    //Act
    var actual = f.DoThings();

    //Assert
    Assert.AreEqual(expected,actual)
}

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...