私の問題は、私の抽象クラスでテストするクラスがそのプロパティを使用するので、プロパティをスタブしたいということです。私は現在Moqの最新バージョンを使用しています。抽象クラスから継承するクラスをユニットテストする
public abstract class BaseService
{
protected IDrawingSystemUow Uow { get; set; }
}
とテストで私のクラスは、次のようになります:
私の抽象クラスは、このようになります
public class UserService : BaseService, IUserService
{
public bool UserExists(Model model)
{
var user = this.Uow.Users.Find(model.Id);
if(user == null) { return false; }
reurn true;
}
}
私はUow
プロパティをスタブできる方法を見つけ出すことはできません。誰か手掛かりがありますか?または私のデザインは悪い私はUow
プロパティにテストに私のクラスに移動する必要がありますか?
本当に助けてくれてありがとう!コードスニペットのマイナーなバグでした。返品(drawingSystemStub)は返品(drawingSystemStub.Object)に置き換えてください。 =) – Rikard
@Rikard:ありがとう、修正されました。 –
FYI @jimmy_keen - 「オーバーライドできません、模擬できません」のリンクが壊れています – lukejkw