View Models
If you assert that the action returns a view of some sort there are some other methods that you can call (seen easily using intellisense). These allow you to check the model, e.g.:
// Check the type of the model
_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()
.WithModel<ModelType>();
// Check that a particular object was passed through as the model
_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()
.WithModel(expectedModel);
// Check that the model that was returned passes a predicate
_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()
.WithModel<ModelType>(m => m.Property1 == "hello");
// Make assertions on the model
_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()
.WithModel<ModelType>(m => {/* Make assertions on m */});
Note: if you use any of these model tests then it will check that the model passed through isn't null.
Updated less than a minute ago