2010-11-18 5 views
0

내 프로그램 (서버)이 일부 미들웨어를 통해 클라이언트에 연결됩니다.
내 프로그램에서 중간 기능을 초기화했습니다.테스트 기계 제어 기능 또는 미들웨어 제어 기능을 단위로하는 방법

init_middleware() 
{ 
    if (middle-ware can not started) // then middle-ware throw exception 
    return exception; 
    else 
    return success; 
} 

init_middleware 단위 테스트는 어떻게 할 수 있습니까?

나는 init_middleware 함수에는 중간 하드웨어를 시작할 수없는 경우 하나의 실패 조건 만 있다고 생각합니다. 그러나, 나는 그 상태가 단위 테스트에서 일어날 수 없습니다.

감사합니다.

답변

3

테스트 대상에 따라 다릅니다.

테스트 init_middleware() 함수

당신이 init_middleware() 기능을 테스트 할 경우, 하나의 옵션은 함수에 Mockmiddle-ware 객체를 제공하는 것입니다. Mock 객체는 함수 cover에 필요한 값을 반환합니다.

테스트 미들웨어 개체

정말 많은 일을하기 위해 남아 있지 당신이 middle-ware 개체 자체를 테스트하려면, 거기 실제로 는 실제 개체를 사용합니다. 단위 테스트는 아니지만 integration 또는 심지어 system 테스트입니다.

+1

첫 번째 사례를 테스트하고 싶습니다. 나는 가짜를 찾고 공부할 것이다. 도와 줘서 고마워. 좋은 하루 되세요 ~ – cardbt

0

엄격한 단위 테스트 기간에서는 이것을해서는 안됩니다. 미들웨어는 디스크, 네트워크 심지어 데이터베이스와 같은 외부 리소스입니다. 이러한 것들이 테스트중인 코드의 경계를 벗어나기 때문에 실제 단위 테스트에는 이러한 것들이 포함되어서는 안됩니다.

미들웨어 액세스 코드를 스텁으로 바꾸거나 제안 된 Lieven과 같은 Mock을 사용하여 실제 피드백이 필요한 경우.

+0

고맙습니다, Gerrie Schenck! 좋은 하루 되세요 :) – cardbt