이것은 내 첫 번째 질문이므로 친절하시기 바랍니다! :)반환 값이없는 메소드를 테스트하기 위해 Moq를 사용하는 방법은 무엇입니까?
내가하려고하는 것은 관리자 클래스에 대한 테스트를 작성하여 작성 중에 하나의 항목 클래스에 대한 많은 새 인스턴스를 목록에 추가하는 것입니다. 이 관리자 클래스에서 UpdateAllItems가 호출되면 목록을 반복하고 각 단일 항목에서 Increment를 호출합니다.
관리자 클래스는 내 코드이지만 단일 항목 클래스가 아니므로 수정할 수 없습니다.
테스트 프레임 워크에 NUnit을 사용하고 Moq로 작업하기 시작했습니다. 관리자 클래스는 단일 항목 클래스를 사용하기 때문에 관리자 만 테스트하므로 단일 항목이 아닌 Moq을 사용해야한다고 생각합니다.
어떻게하면 UpdateAllItems 메서드에 대한 테스트를 작성할 수 있습니까? (기술적으로 나는 먼저 내가 알고있는 테스트를 작성해야한다). 여기
는 ... 모든 도움에 미리
public class SingleItem_CodeCantBeModified
{
public int CurrentValue { get; private set; }
public SingleItem_CodeCantBeModified(int startValue)
{
CurrentValue = startValue;
}
public void Increment()
{
CurrentValue++;
}
}
public class SingleItemManager
{
List<SingleItem_CodeCantBeModified> items = new List<SingleItem_CodeCantBeModified>();
public SingleItemManager()
{
items.Add(new SingleItem_CodeCantBeModified(100));
items.Add(new SingleItem_CodeCantBeModified(200));
}
public void UpdateAllItems()
{
items.ForEach(item => item.Increment());
}
}
덕분에 내가 함께 일하고 어떤의 일반적인 아이디어를 제공하는 몇 가지 예제 코드입니다!
이 클래스는 어떻게 유용합니까? 카운터의 개인 목록을 만들고 메서드가 호출 될 때마다 각 항목을 업데이트합니다. 객체의 동작에 약간의 변화가 있어야합니다. UpdateAllItems가 작동하지 않는 경우 - 관찰 된 변경 사항은 무엇입니까? – Gishu