2011-08-20 21 views
7

Tôi đã sử dụng MSpec một lúc và tôi thực sự thích nó. Tôi đã tìm thấy rằng để có được ReSharper để nhận ra thông số kỹ thuật của tôi, tôi cần phải sử dụng một SubjectAttribute.MSpec, tôi nên đặt gì trong thuộc tính [Subject()] của mình?

Tôi tự hỏi, điều tốt nhất để đưa vào thuộc tính [Subject()] là gì?

Nếu tôi đang làm BDD, sau đó tôi không biết loại thử nghiệm như vậy [Subject(typeof(thingy))] có vẻ quá sớm. Có thể được thêm vào sau, tôi giả sử khi mã được viết.

Vì vậy, để lại phiên bản văn bản, [Subject("some text")]. Nhưng điều tốt nhất để đặt ở đó là gì?

Dù tôi làm gì, nó dường như không ảnh hưởng đến đầu ra tôi nhận được trong ReSharper. Tôi cho rằng ở một mức độ nào đó điều này là tùy thuộc vào sở thích cá nhân, nhưng tôi tự hỏi liệu có quy ước nào ở đây không?

Trả lời

11

Bạn không cần phải áp dụng SubjectAttribute để ReSharper nhận ra ngữ cảnh và thông số kỹ thuật, một lớp có chứa trường It sẽ đủ. Tuy nhiên, nếu bạn muốn ReSharper để hỗ trợ công ước tùy chỉnh đặt tên cho loại MSpec và các lĩnh vực (Because et al), bạn cần phải áp dụng các SubjectAttribute:

  1. Xác định quy ước đặt tên trong ReSharper tùy chỉnh | Tùy chọn | Ngôn ngữ/Phần chung | Kiểu đặt tên | Cài đặt nâng cao

    Khi bạn thêm quy tắc đặt tên do người dùng xác định, hãy cuộn xuống danh sách để xem các đối tượng MSpec.

  2. Bật chú thích MSpec trong ReSharper | Tùy chọn | Mã kiểm tra/Mã chú thích phần

    Chú thích + SubjectAttribute (thậm chí không có quy tắc đặt tên tùy chỉnh) ngăn không cho đánh dấu lại từ việc đánh dấu các trường của MSpec là không sử dụng. Ngoài ra, hãy tắt cảnh báo 169 trong cài đặt dự án.

Subject phục vụ như siêu dữ liệu mô tả bạn bối cảnh, ví dụ bạn có thể sử dụng hệ thống Theo thử nghiệm (khi viết một bài kiểm tra đơn vị), một chuỗi các sự lựa chọn của bạn, hoặc cả hai. Những thông tin này sẽ được báo cáo trong HTML và trong đầu ra ReSharper. Nó không hoạt động như bây giờ, tôi nghi ngờ đây là một bug trong Á hậu ReSharper cho 6.0.

Như với chuỗi, về cơ bản bạn có thể đặt bất cứ thứ gì bạn muốn ở đó. Tôi khuyên bạn nên sử dụng chủ đề để nhóm thông số kỹ thuật của bạn theo tính năng.

Chủ đề: Đăng nhập

bối cảnh: Khi đăng nhập với thông tin hợp lệ, Khi đăng nhập với thông tin không hợp lệ, vv

Có một example in my GitHub repository.

+0

Ah, cảm ơn vì thông tin và đặc biệt là liên kết đến các mẫu, tôi đã không tìm thấy chúng và tôi chắc chắn rằng chúng sẽ có giá trị. Tôi nghĩ có lẽ liên kết đó xứng đáng nổi bật hơn :) –

+0

Nếu bạn muốn đóng góp tài liệu ReSharper cụ thể cho readme của chúng tôi, yêu cầu kéo được đánh giá cao :) –