Phân tách logic và phần giao diện người dùng - không có tất cả mã nghiệp vụ và mã phức tạp của bạn trong mã phía sau trang. Thay vào đó, hãy xây dựng chúng ra khỏi cấu trúc tầng tiêu chuẩn (lớp dữ liệu, quy tắc nghiệp vụ/lớp logic, lớp giao diện người dùng). Điều này sẽ đảm bảo rằng mã logic của bạn mà bạn muốn thử nghiệm không tham chiếu đến biểu mẫu, mà thay vào đó sử dụng các lớp có thể dễ dàng kiểm tra đơn vị.
Đối với một ví dụ rất cơ bản, không có mã nào này:
string str = TextBox1.Text.ToString();
//do whatever your code does
TextBox2.Text = str;
Thay vào đó giải nén logic thành một lớp riêng biệt với phương pháp:
TextBox2.Text = DoWork(TextBox1.Text.ToString());
public class Work
{
public string DoWork(string str)
{
//do work
return str2;
}
}
Bằng cách này bạn có thể viết kiểm tra đơn vị để xác minh rằng DoWork đang trả lại giá trị chính xác:
string return = DoWork("TestThisString");
Bây giờ tất cả logic của bạn là đơn vị tes bảng, chỉ với mã HAS để tham chiếu trang trực tiếp trong lớp giao diện người dùng của bạn.
Nguồn
2009-02-20 17:35:21
Câu hỏi hay. Tôi đã tự hỏi điều tương tự. – RSolberg
Đây là một câu hỏi rất mơ hồ. Câu hỏi của bạn thường có thể được trả lời với một danh sách các công cụ, nhưng bạn làm cho nó âm thanh như có một số cách kỳ diệu để có được ít lỗi trong mã của bạn. Chính xác là bạn đang hỏi cái gì? – ryeguy
@ryeguy Câu hỏi của ông là một câu hỏi định hướng thiết kế. Anh ấy hỏi làm thế nào phong cách thử nghiệm đơn vị phù hợp với một ứng dụng giao diện người dùng nặng nề. Carlten đã có thể trả lời điều đó. – DevinB