프리즘을 사용하는 단위 테스트 뷰 모델입니다. 뷰 모델 클래스의 생성자를 호출하는 동안 region manager, composition 컨테이너를 전달해야합니다. 유닛 테스트 설정에서 지역 관리자를 초기화하는 방법.프리즘 기반의 뷰 모델을 단위 테스트하고 영역 관리자, 컴포지션 컨테이너가 등록되어 있어야합니다.
0
A
답변
0
모델을 테스트 할 때 뷰 모델의 종속성에 대해 더미 구현을 만들어야합니다. 먼저, 뷰 모델에 종속성을 전달할 때 클래스가 아닌 인터페이스를 사용하고 있는지 확인하십시오. 대신이의 예를 들면 다음과 같습니다
는public MyViewModel(RegionManager rm, UnityContainer container) { ... }
이 같은 인터페이스를 사용할 수 있습니다
public MyViewModel(IRegionManager rm, IUnityContainer container) { ... }
그런 다음, 당신이 그 인터페이스를 구현 더미 클래스를 생성 할 수 있습니다. 테스트에서 의존성 주입 컨테이너를 사용하는 경우 인터페이스를 해당 구현에 매핑하여 더미 클래스를 해당 클래스로 내보낼 수도 있습니다. 당신은 단순히보기 모델에 사용되는 더미 IRegions의 컬렉션을 호스팅 할 IRegionManager 인터페이스의 간단한 구현을 만들 수 있습니다지역 관리자의 특별한 경우를 들어
. 이와 같이 뷰 모델의 동작을 테스트하는 데 UI가 필요하지 않습니다.