Интеграционное тестирование приложения ASP.NET MVC

I need some advice about efficient way of writing integration tests for our current ASP.NET MVC application. Our architecture consists of:

  • A Service Layer below Controllers
  • Service Layer uses Repositories and Message Queue (sometimes) to send messages to external applications.

What I think should be done is to:

  • Write behavioral unit tests for all pieces in isolation. So, for example, we should unit test the Service Layer while mocking Repositories and Message Queues.

  • Same goes for Controllers. So we mock the Service Layer and unit test the Controller.

  • Finally, we write separate integration tests for Repositories against a real database and for Message Queue classes against real message queues to ensure they persist/retrieve data successfully.

My Questions:

  • Are there any other types of integration tests that we need to write?

  • Do we still need to write integration tests for Services with the real Repositories and Message Queues?

  • Do we still need to write integration tests for Controllers with the real Services (which in turn consists of real Repositories and Message Queues).

Any advice would be greatly appreciated.

Cheers

6
задан Mosh 13 April 2011 в 05:02
поделиться