단위 테스트가 처음입니다. 그리고 아래 코드를 단위 테스트 할 가치가 있는지 여부를 모르겠습니다. 델파이로 작성된 샘플 메소드는 다음과 같습니다.아래 코드는 단위 테스트의 가치가 있습니까?
function TCoreAudio.CreateAudioClient: IAudioClient;
var
MMDeviceEnumerator: IMMDeviceEnumerator;
MMDevice: IMMDevice;
MixFormat: PWaveFormatEx;
AudioClient: IAudioClient;
HR: HResult;
begin
Result := nil;
if CheckWin32Version(6, 0) then // The Core Audio APIs were introduced in Windows Vista.
begin
HR := GetInstance().CoCreateInstance(CLSID_MMDeviceEnumerator, nil, CLSCTX_ALL,
IMMDeviceEnumerator, MMDeviceEnumerator);
if Failed(HR) then
Exit;
HR := MMDeviceEnumerator.GetDefaultAudioEndpoint(eRender, eConsole, MMDevice);
if Failed(HR) then
Exit;
HR := MMDevice.Activate(IAudioClient, CLSCTX_ALL, nil, AudioClient);
if Failed(HR) then
Exit;
HR := AudioClient.GetMixFormat(MixFormat);
if Failed(HR) then
Exit;
HR := AudioClient.Initialize(AUDCLNT_SHAREMODE_SHARED, 0, 0, 0, MixFormat, nil);
CoTaskMemFree(MixFormat);
if Failed(HR) then
Exit;
Result := AudioClient;
end;
end;
단위 테스트 가치가있는 메소드입니까? 그렇다면 테스트를 위해 필요한 부분은 무엇입니까?
감사합니다.
그러나 Windows XP 컴퓨터에서 실행하면 제안 된 샘플 단원 테스트 (AudioClient : = CreateAudioClient; CheckNotNil (AudioClient);)는 실패하고 Windows Vista 이상에서 실행하면 통과합니다. – CodeSnake
@ CodeSnake 테스트에 쓸 필요가있는 내용입니다. –