Gần đây tôi đã lưu ý rằng việc thêm [TestInitialize] vào một phương thức được bảo vệ trong một cụm .NET không được tôn trọng, nhưng nếu tôi công khai phương thức đó thì nó được gọi bởi người chạy thử nghiệm đơn vị (Resharper trong trường hợp này). Tôi đã nhận thấy điều này nhiều lần trong quá khứ với các phương pháp thử nghiệm.
Về mặt kỹ thuật, nó dễ dàng phản ánh một phương pháp riêng tư như một phương thức công khai. Như một vấn đề thực tế, sự phản chiếu là một phương pháp được sử dụng để kiểm tra các phương thức riêng tư.
Vậy tại sao tôi cần phải công khai tất cả các phương pháp kiểm tra đơn vị của mình?
setAccessible
một số SecurityManager tùy chỉnh