2009-06-17 11 views
5

Tôi đã thử nghiệm với Rhino Mocks để kiểm tra đơn vị ứng dụng .NET Framework của tôi và đã gặp phải sự cố. Tôi có thể có được một bài kiểm tra đơn vị cơ bản bằng cách sử dụng Rhino Mocks được xây dựng, nhưng mỗi lần tôi chạy thử nghiệm có mã Rhino Mocks trong đó, bài kiểm tra thất bại vì nó không thể tìm thấy hội đồng Rhino Mocks.Rhino Mocks & Compact Framework

System.TypeLoadException: Không thể nạp kiểu 'Rhino.Mocks.MockRepository' từ lắp ráp 'Rhino.Mocks ...

tôi đã sao chép tê giác mỉa mai dll đến những nơi khác nhau trên thiết bị (thư mục ứng dụng của tôi và thư mục SmartDeviceTest được tạo) nhưng vẫn không thể tìm thấy nó.

Có ai đã sử dụng mô hình tê giác với khung nhỏ gọn và có thể chỉ cho tôi đúng hướng không? Hoặc thất bại đó, bất cứ ai có thể đề xuất một khuôn khổ mocking mà không tích hợp và làm việc với khuôn khổ nhỏ gọn?

Cảm ơn

Matt

Trả lời

4

đặt cược của tôi là nó không thể tìm thấy một sự phụ thuộc. IIRC, Rhino sử dụng rất nhiều phần CompilerServices và Reflection.Emit mà chỉ đơn giản là không tồn tại trong CF, vì vậy nó có thể puking khi cố gắng để tạo ra các mocks. Tôi đã không nhìn thấy bất kỳ khuôn khổ mocking mà làm việc với CF, và tôi đã thực hiện khá một chút tìm kiếm (và cố gắng để cổng).

+0

Xin chào Chris! Tôi cũng đã từng tìm kiếm rất nhiều, tôi đã tìm thấy một bài đăng của một vài người nói rằng những con tê giác tê giác làm việc trên CF, nhưng không có chi tiết thực sự. Oh well. Đoán tôi sẽ phải cuộn của riêng tôi. Matt – Matt

2

tôi đã viết một bài đăng blog trên chỉ này một vài tháng trước: http://elegantcode.com/2009/04/29/unit-testingmocking-on-net-cf/

Dù sao, RhinoMocks, Moq, và TypeMock không làm việc trên .netcf. Sơ khai từ PEX (một dự án nghiên cứu của Microsoft) có thể làm việc theo lý thuyết, nhưng chưa có.

Điều quan trọng là tạo các lớp sơ khai thay vì các lớp Mock (tìm kiếm google "Mocks không phải là Sơ khai")