제공된 프레임 워크에 클라이언트 측 구성 요소를 작성 중이며 구성 요소를 단위 테스트 할 수 있어야합니다. 구성 요소는 MVP (Model-View-Presenter) 패턴을 사용하여 작성되었으므로 PEX를 사용하여 발표자의 단위 테스트를 자동으로 생성하고 싶습니다.구체적인 객체가 의존성이고 모의 테스트 객체를 자동 생성하는 경우 Pock에게 모의 객체를 사용하도록 지시하는 방법은 무엇입니까?
다음은 발표자의 코드입니다.
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를 실행하여 자동으로 단위 테스트를 생성 할 때 SystemClient
을 무시하도록 PEX에 지시해야합니다.이 결과는 Client.SystemName != "Ruby"
이라는 테스트를 거치지 않은 메서드 DeleteRecord
이 완전히 덮여 있지 않음을 의미합니다. 나는 mock 객체 MSystemClient
(몰수를 사용하여 만든)을 가지고 있기 때문에 어딘가에 구성에서 내가 자동으로 완전히이 방법을 충당하기 위해 테스트 케이스를 생성하는 PEX를 MSystemClient
를 사용하는 PEX에게, 그리고 할 수 있다면
, 나는 궁금.
감사 스테판 . 필자는 PEX가 두더지 코드를 수동으로 작성하지 않고 테스트 케이스를 자동 생성하도록하는 솔루션을 발표했다. 나는 PEX 설정 옵션을 원했다. –