Tôi rất, rất mới để kiểm tra đơn vị và đang cố gắng để viết một bài kiểm tra cho một phương pháp khá đơn giản:Làm cách nào để thực hiện kiểm tra đơn vị để kiểm tra phương pháp kiểm tra tiêu đề yêu cầu?
public class myClass : RequireHttpsAttribute
{
public override void OnAuthorization(AuthoizationContext filterContext)
{
var request = filterContext.HttpContext.Request;
var header = Convert.ToBoolean(request.Headers["Special-Header-Name"]);
if (!(header || request.IsSecureConnection))
{
HandleNonHttpsRequest(filterContext);
}
}
}
Phương pháp này, mà được thừa hưởng từ RequireHttpsAttribute
, kiểm tra nếu một tiêu đề chắc chắn là món quà từ một trang , nếu nó bị thiếu hoặc sai, và trang không an toàn, sau đó nó sẽ gọi HandleNonHttpsRequest
, nếu không nó sẽ không làm gì cả.
Chúng tôi đang sử dụng Moq và Nunit để thử nghiệm. Tôi đã tìm thấy một số tài nguyên để giúp xây dựng một giảHttpContext với Moq, nhưng thành thật mà nói, tôi không chắc chắn làm thế nào để sử dụng nó hoặc đi đâu trong các bài kiểm tra đơn vị của tôi để đảm bảo HttpContexts giả hoặc đang không gây ra phương thức HandleNonHttpsRequest
.
Tôi thực sự đánh giá cao bất kỳ hướng dẫn nào về vấn đề này.
+1 cho chỉ ra các phần AAA của bài kiểm tra. – CodingWithSpike
Cảm ơn bạn! Điều này đã gửi cho tôi đúng hướng để có được một số thử nghiệm thành công. – Dredj