2010-07-23 27 views

Trả lời

5

Yêu cầu đầu tiên của bạn rất đơn giản. Đính kèm trình gỡ lỗi VS vào giao diện NUnit (Công cụ-> Đính kèm vào Quy trình) và thiết lập các điểm ngắt của bạn cho phù hợp. Khi các bài kiểm tra chạy với trình gỡ lỗi được đính kèm, các điểm ngắt sẽ được nhấn. Yêu cầu thứ hai cũng rất đơn giản, nhưng tôi chưa xác minh nó hoạt động (nghĩa là tôi biết nó sẽ bị hỏng, nhưng tôi không cách mã người dùng nó phá vỡ bao xa). Khi kiểm tra đơn vị không thành công, khung NUnit sẽ tăng NUnit.Framework.AssertionException. Đặt trình gỡ lỗi để ngắt khi ngoại lệ này được ném và bạn sẽ không cần đặt các điểm ngắt trong mã của mình. Để thực hiện việc này, hãy truy cập Gỡ lỗi-> Ngoại lệ ..., sau đó chọn Thêm .... Chọn Ngoại lệ thời gian chạy ngôn ngữ phổ biến và nhập tên đầy đủ (bao gồm cả không gian tên) của ngoại lệ NUnit. Cuối cùng, trong màn hình ngoại lệ ban đầu, hãy chọn ngoại lệ mới của bạn và nhấp vào Thrown.

Một lần nữa, bạn sẽ cần phải chạy thử nghiệm của bạn với trình gỡ rối đính kèm để nó bắt được khi các ngoại lệ được ném ra.

3

Đính kèm trình gỡ lỗi Visual Studio vào quy trình NUnit, sau đó chạy thử nghiệm của bạn trong giao diện NUnit.

1

Nếu bạn đính kèm trình gỡ lỗi Visual Studio của bạn vào quy trình đơn giản và thực hiện kiểm tra của bạn trong nunit, thì các điểm ngắt trong Visual Studio sẽ được sử dụng.

Tôi không biết làm thế nào điều này có thể được thực hiện khi không kiểm tra.

6

Đừng bận tâm với sự phiền phức khi đính kèm quy trình. Điều đó già đi rất nhanh. Thay vào đó, đi đến các thuộc tính cho dự án thử nghiệm đơn vị của bạn và tab Debug, đặt "Bắt đầu chương trình bên ngoài:" để trỏ tới nunit.exe và thêm tên dll đầu ra vào hộp văn bản "Đối số dòng lệnh" (ví dụ: UnitTests) .dll)

+0

@NickMeyer: Hướng dẫn từng bước với hình ảnh có thể được tìm thấy tại đây (http://erraticdev.blogspot.com/2012/01/running-or-debugging-nunit-tests-from.html). Nó làm cho nó có thể tự động chạy thử nghiệm NUnit bằng cách nhấn ** Ctrl-F5 ** hoặc gỡ lỗi chúng khi nhấn ** F5 **. Cũng giống như với bất kỳ dự án khác. –

+0

Nhận xét và liên kết ở trên từ @nickMeyer rất hữu ích và kết quả là chúng tôi đã thực hiện NUnit theo câu hỏi gốc –

+0

Điều này không hoạt động trong Visual Studio 2012 Express, vì không có tùy chọn trong cài đặt Gỡ lỗi để thay đổi bắt đầu hành động. Nếu bạn sẵn sàng sửa đổi tệp .csproj của mình, bạn có thể đặt thuộc tính StartAction, StartProgram và StartArguments theo cách đó, sẽ có hiệu ứng mong muốn. – yoyo

0

Ngoài gắn liền với quá trình NUnit trong khi chạy thử nghiệm, bạn có thể tạm thời thêm

Debugger.Launch() 

hoặc trong một SetUpFixture hoặc TestFixtureSetUp hoặc thậm chí trong một catch nơi ngoại lệ dự kiến ​​được bắt.

Các vấn đề liên quan