提供されたフレームワークでクライアント側のコンポーネントを作成していますが、コンポーネントを単体テストできる必要があります。コンポーネントはMVP(Model-View-Presenter)パターンを使用して記述されています。PEXを使用して、プレゼンターの単体テストを自動的に生成したいと思います。
以下はプレゼンターのコードです。
public partial class CompetitorPresenter : PresenterBase
{
private readonly ICompetitorView _view;
public IGlobalDataAccess GlobalDataAccess;
public IGlobalUI Globals;
public SystemClient Client;
public bool DeleteRecord()
{
if (_view.CompetitorName != "Daniel")
return false;
if (Client.SystemName != "Ruby")
return false;
return true;
}
}
私が抱えている問題は、オブジェクトSystemClient
がフレームワークによって提供されており、ファクトリクラスを使用してのインスタンスを作成できないことですSystemClient
。したがって、PEXを実行して単体テストを自動的に生成する場合、無視するようにPEXに指示する必要があります。その結果、行がテストされないSystemClient
ため、メソッドDeleteRecord
が完全にカバーされません。Client.SystemName != "Ruby"
私はモックオブジェクトMSystemClient
(molesを使用して作成)を持っているので、構成のどこかでPEXに使用するように指示しMSystemClient
、このメソッドを完全にカバーするテストケースをPEXに自動的に生成させることができるかどうか疑問に思います。