Est-il possible dans Rhino.Mocks de vérifier si un constructeur spécifié a été appelé?Rhino Mocks: Comment vérifier qu'un constructeur a été appelé
Consultez le code suivant:
public interface IFoo
{
void Bar();
}
public class FooFactory
{
public IFoo CreateInstance(int x, int y)
{
return new Foo(x, y);
}
}
public class Foo : IFoo
{
public Foo(int x, int y)
{
// ... blah
}
public void Bar()
{
// blah...
}
}
[TestFixture]
public class FooFactoryTest
{
[Test]
public void Assert_Foo_Ctor_Called_By_Factory_CreateInstance()
{
MockRepository mocks = new MockRepository();
using (mocks.Record())
{
Expect.Call(/* ???? */);
}
using(mocks.Playback())
{
new FooFactory().CreateInstance(1, 2);
}
mocks.VerifyAll();
}
}
Je voudrais vérifier que Foo (int, int) a été appelé par le FooFactory.
D'accord. Je remettrais fortement en question le besoin de tester qu'un constructeur spécifique a été appelé ... semble sur spécification à moi. Ce que vous devriez tester, c'est que l'usine produit la sortie attendue en fonction d'une entrée spécifique. –