0

私は Pex と Moles を初めて使用し、パラメーター化された単体テストを利用したいと考えています。コンストラクター インジェクションを使用しており、パラメーターのモル スタブを作成したいと考えています。

public UserLogic(IUserRepository userRepository)
{
    _userRepository = userRepository;
}

私が読んだドキュメントによると、Moles は SIUserRepository のリポジトリのスタブ タイプを生成します。しかし、スタブを生成する方法がわかりません。誰でも例を提供できますか。ありがとう

4

1 に答える 1

0

Moles アセンブリの作成まではまだ進んでいないと仮定します。従うべきいくつかの基本的な手順は次のとおりです。

  1. 単体テスト プロジェクトで参照を展開し、タイプ IUserRepository を含むアセンブリを右クリックして、[Add Moles Assembly] を選択します。
  2. これで、'.Moles' 名前空間の下で、そのアセンブリで使用できる Moles スタブと Moles が得られるため、MyAsssembly.SomeNamespace.IUserRepository がある場合は、MyAssembly.SomeNameSpace.Moles.SUserRepository として使用できるスタブ タイプが得られます。

現在、一部の UserLogic_Test メソッドでは、スタブを次のように参照できます。

[TestMethod]
public void UserLogic_Test()
{
    MyAssembly.SomeNameSpace.Moles.SUserRepository mock = new SUserRepository();
    UserLogic o = new UserLogic(mock);
    Assert.AreEqual(1, o.SomeMethod());
}
于 2012-04-17T22:11:33.633 に答える