2008-09-10 8 views

Répondre

0

Question intéressante! Ma propre préférence est la syntaxe basée sur la réflexion (ce que je suppose que vous voulez dire par la syntaxe standard). Je dirais que c'est le plus sans frottement, car il n'ajoute pas beaucoup de code supplémentaire: vous référencez les stubs directement sur vos interfaces comme s'ils étaient correctement implémentés. J'aime aussi la syntaxe Fluent, bien que ce soit assez compliqué. La syntaxe Record/Replay est aussi lourde que la syntaxe Fluent (sinon plus, apparemment), mais moins intuitive (pour moi au moins). J'ai seulement utilisé NMock2, donc la syntaxe Record/Replay est un peu étrangère à moi, alors que la syntaxe Fluent est assez familière. Toutefois, comme le suggère this post, si vous préférez séparer vos attentes de vos vérifications/assertions, optez pour la syntaxe Fluent. Tout est une question de style et de préférence personnelle, finalement :-)

1

Disposer, agir, affirmer. Tho, j'utilise MoQ et préfère l'Arrangement, Assert, Act, Verify. J'aime mettre tout en place avant d'agir, plutôt que de faire le gros du travail à la fin.

1

Pour .NET 2.0, je recommande le modèle d'enregistrement/lecture. Nous aimons cela parce qu'il sépare clairement vos attentes de vos vérifications.

using(mocks.Record()) 
{ 
    Expect.Call(foo.Bar()); 
} 
using(mocks.Playback()) 
{ 
    MakeItAllHappen(); 
} 

Si vous utilisez .NET 3.5 et C# 3, je vous recommande la syntaxe courante.

Questions connexes