2012-02-28 28 views
7

Có ai đang sử dụng khuôn khổ .NET mocking mà họ đã tìm thấy tương thích với Monotouch không? Tôi tò mò về khả năng tương thích với NMock, NSubstitute, Moq và các khung công tác khác trước khi tôi cố gắng sử dụng nó.Mocking framework cho .NET trên Monotouch?

Xamarin vừa tăng cường hỗ trợ kiểm tra đơn vị của nó, nhưng không đề cập đến khuôn khổ giả. FYI, tôi hy vọng sẽ làm rất nhiều sự phát triển của tôi trên VS 2010 cho các bit không giao diện người dùng và chuyển sang nền tảng iOS khi giao diện người dùng đến chơi.

Cảm ơn sự giúp đỡ.

+0

Tôi (với tư cách là tác giả Touch.Unit) chưa được nghe bất kỳ ai sử dụng chúng. Nếu bạn không nhận được câu trả lời cụ thể, tôi khuyến khích bạn thử chúng (ít nhất là nguồn mở) trên MonoTouch và tạo câu trả lời của riêng bạn ở đây trên stackoverflow. – poupou

+0

Bản sao có thể có của [Mocking framework để sử dụng với xamarin android] (http://stackoverflow.com/questions/22538727/mocking-framework-for-use-with-xamarin-android) –

+0

Tôi giả sử 'FakeItEasy' không hoạt động trong môi trường này? Đặt nó ở đây như bạn đã không đề cập đến nó trong bài viết đầu tiên của bạn – jamespconnor

Trả lời

4

Tôi muốn giới thiệu chỉ sử dụng chế nhạo thủ công:

interface IClass { 
    void Method(int x); 
} 

MockClass : IClass { 
    public void Method(int x) { 
      MethodParameter = x; 
    } 

    //Assert against this guy 
    public int MethodParameter { get; private set; } 
} 

StubClass : IClass { 
    public void Method(int x) { 
      //Do nothing 
    } 
} 

Nếu tôi phải đoán Rhino Mocks, Moq, vv có sử dụng nặng của Reflection.Emit (làm thế nào khác bạn có thể làm sự điên cuồng họ có thể làm gì?), sẽ không chạy với trình biên dịch AOT trên MonoTouch.

+0

Cảm ơn. Hướng dẫn sử dụng chế nhạo là một cái gì đó tôi đã làm rất nhiều trong quá khứ, nhưng đã tự hỏi nếu bất kỳ khuôn khổ tương thích trên nền tảng. Hướng dẫn sử dụng chế nhạo có xu hướng là một công việc nhiều hơn một chút, mặc dù có rất nhiều mô hình tiêm phụ thuộc tốt để làm cho nó dễ dàng. – Nekoashi

+1

TinyIoC đã làm việc tốt cho chúng tôi trong MonoTouch để trợ giúp với IoC/DI: https://github.com/grumpydev/TinyIoC – jonathanpeppers

+0

Điều này thật đáng thất vọng. Tôi muốn sử dụng Moq quá tệ trên một dự án MonoTouch. – NovaJoe

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