Hiện tại tôi đang viết một số phương thức thực hiện một số thao tác cơ bản trên các điều khiển biểu mẫu như Textbox, Groupbox, các hoạt động này là chung và có thể được sử dụng trong bất kỳ ứng dụng nào.Phương pháp thử đơn vị sử dụng các điều khiển UI
Tôi bắt đầu viết một số bài kiểm tra đơn vị và chỉ tự hỏi tôi nên sử dụng các điều khiển biểu mẫu thực có trong System.Windows.Forms hay tôi chỉ nên giả lập các phần mà tôi đang cố kiểm tra. Vì vậy, ví dụ:
Nói rằng tôi có phương pháp này mà phải mất một kiểm soát và nếu nó là một textbox nó sẽ xóa thuộc tính văn bản như thế này:
public static void clearall(this Control control)
{
if (control.GetType() == typeof(TextBox))
{
((TextBox)control).Clear();
}
}
Sau đó, tôi muốn kiểm tra phương pháp này vì vậy tôi làm điều gì đó như thế này:
[TestMethod]
public void TestClear()
{
List<Control> listofcontrols = new List<Control>();
TextBox textbox1 = new TextBox() {Text = "Hello World" };
TextBox textbox2 = new TextBox() { Text = "Hello World" };
TextBox textbox3 = new TextBox() { Text = "Hello World" };
TextBox textbox4 = new TextBox() { Text = "Hello World" };
listofcontrols.Add(textbox1);
listofcontrols.Add(textbox2);
listofcontrols.Add(textbox3);
listofcontrols.Add(textbox4);
foreach (Control control in listofcontrols)
{
control.clearall();
Assert.AreEqual("", control.Text);
}
}
Tôi có nên thêm tham chiếu vào System.Window.Forms vào đơn vị của tôi và sử dụng đối tượng Hộp văn bản thực không? hay tôi làm sai?
LƯU Ý: Mã trên chỉ là một ví dụ, tôi không biên dịch hoặc chạy nó.
Tôi đồng ý, không có sử dụng thực tế trong việc kiểm tra Khuôn khổ .NET. Microsoft đã làm điều đó đến một mức độ khá lớn :). – Tigraine