我正在学习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
答案 0 :(得分:3)
FWIW,我不会说你应该是单元测试表单,因为它们与底层的Windows Forms框架紧密耦合。
但是,单元测试可以激励/强迫您尽可能多地保留表单中的逻辑,因此可以测试这些代码片段。
如果您尝试依次为引用Windows窗体的代码创建单元测试,则可以使用模拟框架(如Moq)来模拟被测代码引用的窗体。这反过来要求您注入所有这些依赖项。
答案 1 :(得分:3)
您应该将业务逻辑与UI分开。如果可以,您可能希望使用WPF和MVVM进行探索。