C#单元测试用例帮助

时间:2011-07-01 13:44:29

标签: c# unit-testing

我正在学习C#(来自Java背景)并且正在尝试在我的实践中实现测试用例。我已经完成了一些创建测试用例的例子,但它们非常基本并处理了明显的约束(即角度在0-360之间)。

我将通过创建表单的示例进行操作,但未能找到有关使用表单实现测试的任何示例。这通常是否已经完成,如果有的话,有人可以给我一些我将测试的内容的例子:

namespace TabControlExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            CreateNewCompanyTab("Test Company 1");
            CreateNewCompanyTab("Test Company 2");

        }

        private void CreateNewCompanyTab(string companyName)
        {
            BaseCompanyPanel companyPanel = new BaseCompanyPanel();
            TabPage tabPage = new TabPage();

            // Set the tab text
            tabPage.Text = companyName;

            // Set the companyPanel.Parent value to tabPage
            // this will basically insert the companyPanel into the tab
            companyPanel.Parent = tabPage;
            tabControl.TabPages.Add(tabPage);

        }


    }
}


namespace TabControlExample
{
    public partial class BaseCompanyPanel : UserControl
    {
        public BaseCompanyPanel()
        {
            InitializeComponent();
        }
    }
}

此示例创建一个可在多个选项卡上重复使用的用户控件。

感谢任何帮助。

TIA,

Brian Enderle

2 个答案:

答案 0 :(得分:3)

FWIW,我不会说你应该是单元测试表单,因为它们与底层的Windows Forms框架紧密耦合。

但是,单元测试可以激励/强迫您尽可能多地保留表单中的逻辑,因此可以测试这些代码片段。

如果您尝试依次为引用Windows窗体的代码创建单元测试,则可以使用模拟框架(如Moq)来模拟被测代码引用的窗体。这反过来要求您注入所有这些依赖项。

答案 1 :(得分:3)

您应该将业务逻辑与UI分开。如果可以,您可能希望使用WPF和MVVM进行探索。