문자열 입력이 null 또는 비어 있는지 확인하는 메서드에 대한 일련의 호출을 포함하는 메서드가 있습니다. 비어있는 경우 두 번째 매개 변수를 false로 설정합니다.값을 반환하지 않는 메서드를 조롱하십시오
public bool inputsContainData()
{
bool validInputs = True;
_helper.StringContainsData(_view.FilePath1, validInputs);
_helper.StringContainsData(_view.FilePath2, validInputs);
//...
Return validInputs;
}
StringContainsData() 메소드에 DI'd 표현되는 클래스이다. 이 메소드는 결과 변수가 참조 유형이므로 아무 것도 반환하지 않습니다.
public void StringContainsData(string input, bool result)
{
if(string.IsNullOrEmpty(input))
{
result = false;
}
}
내가 StringContainsData()을 조롱하고 특정 결과를 반환해야 캔트 때문에 몇 가지 문제를 가지고 임.
public bool StringContainsData(string input, bool result)
{
if(string.IsNullOrEmpty(input))
{
if(result != false)
{
return false;
}
}
else
{
if(result == false)
{
return false;
}
}
return true;
}
는 따라서 = 진실이 아닌 거짓, 허위 사실, 진정한 => 최종 결과를 가지고 나를 중지 : 문은 다음과 같은 경우 내가 두 번째를 포함하면 내가 생각할 수있는 유일한 솔루션입니다.
더 좋은 방법이 있나요?
귀하의 방법은 쓸모가 없습니다. 'StringContainsData' 내부의'result'에 대한 변경은 매개 변수가'ref' 또는'out' 매개 변수가 아니기 때문에 외부 메소드에서 볼 수 없습니다. –
조롱하기 전에'StringContainsData'를 수정하십시오 ... 또한, 왜 그런 사소한 기능을 조롱합니까? – leppie
다시 코드를 수정하십시오. 그것은 심지어 컴파일되지 않을 것이다. – leppie