Điều đầu tiên tôi sẽ làm là tải xuống bản sao của TestDriven.Net để sử dụng làm người thử nghiệm. Thao tác này sẽ thêm một menu chuột phải, cho phép bạn chạy các kiểm tra riêng lẻ bằng cách nhấn chuột phải vào phương thức thử và chọn Run Test (s). Điều này cũng làm việc cho tất cả các bài kiểm tra trong một lớp (nhấn chuột phải vào lớp, nhưng bên ngoài một phương thức), một vùng tên (nhấn chuột phải vào dự án hoặc trong không gian tên bên ngoài lớp), hoặc toàn bộ giải pháp (nhấn chuột phải vào giải pháp). Nó cũng cho biết thêm khả năng chạy thử nghiệm với vùng phủ sóng (tích hợp sẵn hoặc nCover) hoặc trình gỡ lỗi từ trình đơn nhấp chuột phải.
Theo như thiết lập kiểm tra, thường tôi gắn bó với một dự án thử nghiệm cho mỗi dự án và một lớp kiểm tra cho mỗi lớp được kiểm tra. Đôi khi tôi sẽ tạo các lớp thử nghiệm cho các khía cạnh chạy trên nhiều lớp, nhưng không thường xuyên. Cách điển hình tôi tạo ra là đầu tiên tạo ra bộ khung của lớp - không có thuộc tính, không có hàm tạo, nhưng với phương thức đầu tiên mà tôi muốn thử nghiệm. Phương thức này chỉ đơn giản là ném một NotImplementedException.
Khi bộ xương của lớp được tạo, tôi sử dụng nhấp chuột phải vào Tạo thử nghiệm đơn vị trong phương pháp đang thử nghiệm. Việc này sẽ đưa ra một hộp thoại cho phép bạn tạo một dự án thử nghiệm mới hoặc chọn một dự án hiện có. Tôi tạo và đặt tên phù hợp, một dự án thử nghiệm mới và có trình hướng dẫn tạo các lớp. Một khi điều này được thực hiện, bạn có thể cũng muốn tạo các hàm truy cập riêng cho lớp trong dự án thử nghiệm. Đôi khi những điều này cần được cập nhật (tái tạo) nếu lớp của bạn thay đổi đáng kể.
Bây giờ bạn có dự án thử nghiệm và thử nghiệm đầu tiên của mình. Bắt đầu bằng cách sửa đổi kiểm tra để xác định hành vi mong muốn của phương thức. Viết đủ mã để (chỉ vừa đủ) vượt qua bài kiểm tra. tiếp tục với việc viết các bài kiểm tra/viết mã, chỉ định hành vi khác cho phương thức cho đến khi tất cả hành vi của phương thức được xác định. Sau đó chuyển sang phương thức hoặc lớp tiếp theo nếu thích hợp cho đến khi bạn có đủ mã để hoàn thành tính năng mà bạn đang làm việc.
Bạn có thể thêm nhiều loại kiểm tra khác nhau theo yêu cầu. Bạn cũng có thể thiết lập kiểm soát mã nguồn của mình để yêu cầu một số hoặc tất cả các kiểm tra vượt qua trước khi đăng ký.
cẩn thận để liên kết/giải thích NUnit? – Malfist
Tại sao điều đó không dễ dàng trong NUnit? NUnit cung cấp khả năng tương tự để làm thiết lập thử nghiệm/teardown. Bạn có thể sử dụng NUnit để kiểm tra đơn vị mã mà không được viết với thử nghiệm đơn vị trong tâm trí là tốt. –
Có lẽ tôi đã hiểu lầm cách NUnit hoạt động, nhưng tôi nghĩ rằng bạn phải đặt các câu lệnh khai báo với mã bạn đang kiểm tra để NUnit biết nơi để tìm các đối tượng thử nghiệm. Với khung kiểm tra được xây dựng thành VS, điều này là không cần thiết. Mặc dù tôi có thể sai về NUnit. :) – Eric