Chúng tôi cần một số mã thiết lập một lần toàn cầu trong bộ thử nghiệm của chúng tôi. Chúng tôi có thể làm điều đó nhiều hơn một lần nhưng phải mất một thời gian.NUnit khởi tạo toàn cầu - ý tưởng tồi?
Yêu cầu của tất cả các đồ đạc để
[TestFixtureSetUp]
không hoạt động. Nó phải chạy trước tất cả mã[TestFixtureSetUp]
.Đặt mã vào trong
Main()
vì chúng tôi giữ các cụm thử nghiệm dưới dạng tệp thi hành. Tuy nhiênMain
không được thực thi trong ứng dụng khách GUI.Tạo một lớp riêng biệt với một hàm tạo tĩnh để khởi tạo chỉ hoạt động khi bạn tham chiếu lớp mà chúng tôi không ưa thích làm trong mỗi lớp.
Thừa kế tất cả các đồ đạc thử nghiệm từ một lớp cơ sở và thêm một hàm tạo tĩnh vào nó làm cho nhiều cuộc gọi đến mã init.
Bây giờ cho các trường hợp, tôi có hai câu hỏi:
1) là "thiết lập toàn cầu" là một ý tưởng rất xấu mà nó không được hỗ trợ bởi NUnit?
2) Cách đau đớn nhất, phổ biến nhất để đạt được điều này là gì?
Bằng cách cho những ai tự hỏi, MBUnit hỗ trợ "AssemblyFixture" lớp mà cố cài đặt đang chạy một lần mỗi lắp ráp. Tôi biết câu hỏi của tôi là về NUnit nhưng bất cứ ai đang nghĩ về một công tắc cũng nên xem xét điều đó. –