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)
}

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...