Pasar objetos simulados Moq al constructor

He estado usando RhinoMocks durante un buen tiempo, pero recién comencé a buscar en Moq. Tengo este problema muy básico, y me sorprende que esto no salga de la caja. Supongamos que tengo la siguiente definición de clase:

public class Foo
{
    private IBar _bar; 
    public Foo(IBar bar)
    {
        _bar = bar; 
    }
    ..
}

Ahora tengo una prueba en la que necesito burlarme del IBar que se envía a Foo. En RhinoMocks simplemente lo haría de la siguiente manera, y funcionaría de maravilla:

var mock = MockRepository.GenerateMock<IBar>(); 
var foo = new Foo(mock); 

Sin embargo, en Moq esto no parece funcionar de la misma manera. Estoy haciendo lo siguiente:

var mock = new Mock<IBar>(); 
var foo = new Foo(mock); 

Sin embargo, ahora falla, diciéndome "No se puede convertir de 'Moq.Mock' a 'IBar'. ¿Qué estoy haciendo mal? ¿Cuál es la forma recomendada de hacer esto con Moq?

Respuestas a la pregunta(2)

Su respuesta a la pregunta