2010-06-09 47 views
7

Tôi gặp lỗi này khi tạo thử nghiệm đơn vị mới trong Visual Studio 2010 bằng menu ngữ cảnh (nhấp chuột phải vào tên phương thức -> "Tạo thử nghiệm đơn vị"):Truy cập riêng cho phương thức không được tìm thấy

Private Accessor for methodName is not found. Please rebuild the containing project or run the Publicize.exe manually. 

phương pháp này là công khai (kiểm tra rằng bằng cách áp dụng áp dụng một bộ lọc để không hiển thị phương pháp ngoài công lập trong "tạo đơn vị xét nghiệm" hộp thoại.

Visual Studio tạo ra một số loại .accessor tập tin tự động. tôi có cần phải làm bất cứ điều gì trong đó?

Điều gì khác có thể là pr oblem?

EDIT (biết thêm rằng có thể có liên quan)

  • Tôi đang cố gắng để kiểm tra một số các lớp bên trong một dự án trang web, mặc dù họ không làm bất cứ thứ trang web liên quan. Chúng chỉ là các lớp C# cũ.
  • Tất cả tên lớp của tôi có sẵn trong lớp kiểm tra đơn vị là ClassName_Accessor. Và điều đó khiến trình biên dịch phàn nàn về chữ ký của phương thức không chính xác.

Trả lời

0

"Người truy cập" là lớp hoạt động giống như một trong các lớp có liên quan đến thử nghiệm của bạn, nhưng phương pháp thử nghiệm có quyền truy cập vào các trường và phương thức riêng tư và được bảo vệ của nó. Đặc biệt, các lớp accessor được sử dụng để kiểm tra các phương thức riêng và được bảo vệ.

Có vẻ như có sự cố với trình truy cập, vì vậy bạn có thể muốn thử xóa và tạo lại. Xây dựng lại dự án. Sau đó, nhấp chuột phải vào mã của bạn và gần nơi nó nói "Tạo thử nghiệm đơn vị", sẽ có một tùy chọn khác có nội dung "Tạo quyền truy cập riêng tư".

+0

Tôi đã thực hiện điều "Tạo truy cập riêng tư" và điều đó không thay đổi gì. Và tôi không cần phải làm điều đó bởi vì tất cả các lớp và phương pháp đều được công khai. Ngoài ra, xin vui lòng kiểm tra chỉnh sửa của tôi, tôi đoán thực tế là tôi chỉ có thể truy cập vào các lớp học tên ClassName_Accessor có thể có một cái gì đó để làm với vấn đề. – Farinha

+0

Thật kỳ quặc. Tôi sợ tôi có thể không được phục vụ, sau đó ... Tôi không biết làm thế nào bạn có thể có một vấn đề nếu bạn không gọi phương pháp phi công cộng trong mã kiểm tra. Dự án thử nghiệm có được tạo ra không, hoặc lỗi có ngăn không? –

5

Tôi giải quyết được sự cố của mình với điều này, tôi đã bỏ liên kết thư mục kiểm tra tham chiếu trong quá trình hợp nhất với TFS.

Tài liệu tham khảo thử nghiệm Tham chiếu thử nghiệm sẽ nằm trong dự án thử nghiệm của bạn và sẽ chứa tệp được đặt tên sau không gian tên nguồn với ".accessor" được thêm vào. Vì tôi đã phân tách thư mục khỏi dự án của tôi nên tôi không thấy tệp đó vẫn còn đó, vì vậy tôi đã đánh dấu dự án thử nghiệm và nhấn nút "Hiển thị tất cả tệp" trong Solution Explorer. Khi tôi cuối cùng tìm thấy tập tin, tôi đã xóa nó và tạo lại accessor riêng (nhấn chuột phải trong lớp của bạn và chọn "Generate Private Accessor"). Vì vậy, dòng dưới cùng, nếu tham chiếu kiểm tra tồn tại nhưng bị hủy liên kết khỏi dự án, bạn sẽ không thể tạo lại accessor riêng và Visual Studio sẽ không cho bạn biết rằng có xung đột tên/khóa tệp.

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