2010-11-10 25 views
5

Được nâng cấp gần đây lên NUnit 2.5.8 để sử dụng chức năng TestContext mới. Điều này là để chúng ta có thể xác định tên thử nghiệm hiện tại để lấy một thuộc tính:NullReferenceException khi sử dụng TestContext trong NUnit 2.5.8

private T GetAttribute<T>() where T : class 
{ 
    return Attribute.GetCustomAttribute(GetType().GetMethod(TestContext.CurrentContext.Test.Name), typeof(T)) as T; 
} 

Tuy nhiên, chúng ta đang thấy NullReferenceExceptions khi truy cập vào TestContext.CurrentContext.Test.Name tài sản vì nó có vẻ rằng NUnit CallContext là không được đăng ký đúng cách.

Có ai khác gặp sự cố này hoặc có thể đề xuất một cách khác để xác định tên thử nghiệm hiện tại từ Thiết lập?

+0

Bạn chạy thử nghiệm như thế nào? Bạn đang sử dụng một Á hậu thử nghiệm cụ thể có thể là vấn đề? –

+0

Nó đang được trưng bày bởi Á hậu GUI NUnit và nhân viên Resharper. –

Trả lời

0

Đây không phải là một câu trả lời cho câu hỏi của bạn, nhưng tôi tình cờ gặp một vấn đề tương tự khi sử dụng TestDriven.NET's xcopy-deployable NUnit Test Runner sử dụng NUnit 2.5.7, và nhấn một NullReferenceException vì TestDriven.NET vẫn chạy các bài kiểm tra dưới 2.5.5 (mà nó tàu với) và không NUnit dự án của tôi tham chiếu.

Vấn đề hóa ra là tôi đã tham chiếu đến số nunit.framework.dll được tìm thấy trong NUnit\NUnit-2.5.7.10213\bin\net-2.0 khi tôi cần tham khảo số được tìm thấy trong NUnit\NUnit-2.5.7.10213\bin\net-2.0\framework. Tại sao có hai bản sao tôi không có ý tưởng, nhưng chỉ vào đúng DLL thực hiện tất cả sự khác biệt.

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