2011-08-05 33 views
5

Tôi đã cố gắng sử dụng Pex trong một # dự án F nhưng tôi đã phải đối mặt với một số vấn đề mà tôi sẽ đánh giá cao một số giúp đỡ:Pex và F # trong Visual Studio 2010 Ultimate

  1. Visual Studio Pex addin làm việc cho nửa giờ và không cho thăm dò dự án phức tạp.

  2. Sau đó mỗi lần tôi chạy thăm dò Pex từ trong Visual Studio 2010, tôi nhận được thông báo lỗi !warning! [metadata] no explorations found after applying all filters; did you forget a [PexClass] or [PexMethod] attribute?. Nếu tôi sao chép và dán lệnh được chạy bởi studio trực quan khi thực hiện tìm kiếm và xóa một số thuộc tính (như sourceFilter ...) và chạy nó từ một bảng điều khiển lệnh thì tôi nhận được một số thử nghiệm được tạo. Bất kỳ ý tưởng tại sao visual studio tạo ra một lệnh không hợp lệ?

  3. Sau một thời gian Microsoft.Pex.Framework.dll hoặc biến mất khỏi danh sách tham chiếu .Net và tôi phải tham chiếu nó theo cách thủ công bằng cách sử dụng đường dẫn tệp hoặc tôi thậm chí không thể tham khảo thêm nữa và tôi phải gỡ cài đặt/cài đặt lại Pex. (A reference to C:\Program Files (x86)\Microsoft Moles\PublicAssemblie\Microsoft.Pex.Framework.dll could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.)

Tất cả những vấn đề này không xảy ra khi tôi làm việc trong dự án C#.

Sự cố 1 2 3 xảy ra với phiên bản Academic.

Sử dụng phiên bản có sẵn cho người đăng ký MSDN Tôi chưa từng làm việc trong phòng thu trực quan (Visual Studio 2010 Ultimate NO SP1). Tuy nhiên nó làm việc từ dấu nhắc lệnh. Tôi không gặp vấn đề gì với phiên bản này.

Có ai quản lý để Pex làm việc với F # trong studio trực quan không? Nếu có, bạn có thể cho tôi biết bạn đã làm như thế nào không? Bạn sử dụng phiên bản nào (VS và Pex)?

+0

Muốn thử diễn đàn của họ tại http://social.msdn.microsoft.com/Forums/en-US/pex/threads/ – GregC

+0

Bạn có thể tìm kiếm các diễn đàn đó cho các câu hỏi và câu trả lời trong quá khứ; nhưng diễn đàn đó đã được lưu trữ, ủng hộ việc đăng câu hỏi tại đây tại StackOverflow. Tham khảo: http://bit.ly/nj252B –

+0

Thanks guys tôi tạo ra một wrapper xung quanh Pex.exe và tôi không sử dụng tích hợp studio trực quan với các dự án F #: / – Nicolas

Trả lời

1

Tôi đã có một số thành công khi chạy Pex với F #. Phiên bản tôi sử dụng, nếu tôi tin rằng thư mục Downloads của tôi, là phiên bản học tập của Microsoft Pex và Moles 0.94.51006.1 Phiên bản dành cho (x86). Tệp cài đặt được đặt tên là pex.academic.x86.msi.

Tôi không biết liệu phiên bản đó có phải là phiên bản trước của bạn hay không.

Hiển thị của tôi từ các thử nghiệm của tôi là Pex và F # không phải là một sự kết hợp rất tốt: Pex nhấn mạnh vào việc tạo ra các trường hợp thử nghiệm với đầu vào rỗng. Khi tạo ra các giá trị null trong F # không phải là tất cả những gì phổ biến, đó thường không phải là các kịch bản mà tôi quan tâm. Thêm rất nhiều giả định để loại bỏ những người vừa để lại cho tôi với Pex không thể tạo ra các trường hợp thử nghiệm. Phải thừa nhận rằng, các chức năng tôi đã thử nghiệm quá phức tạp, tôi vẫn thích ý tưởng đằng sau Pex và có thể thử lại nó trên các đoạn mã nhỏ hơn/dễ dàng hơn.

Sử dụng Pex và GUI của nó bên trong VS 2010 hoạt động tương đối tốt nhưng không gây thất vọng.