저는 C++로 RPC 미들웨어를 작성하고 있습니다. 나는 내부 소켓 클라이언트를 포함하는 RPCClientProxy라는 클래스가 있습니다TDD, 단위 테스트 및 아키텍처 변경
class RPCClientProxy {
...
private:
Socket* pSocket;
...
}
생성자 : 당신이 볼 수 있듯이
RPCClientProxy::RPCClientProxy(host, port) {
pSocket = new Socket(host, port);
}
가, 내가 내부 소켓을 가지고있는 사용자에게 필요하지 않습니다 .
내 프록시에 단위 테스트를하려면 소켓 용 모의 객체를 만들어 프록시에 전달해야하므로 setter를 사용하거나 프록시 생성자의 소켓에 팩토리를 전달해야합니다.
내 질문 : TDD에 따르면, 테스트 때문에 만 가능합니까? 보시다시피, 이러한 변화는 프로그래머가 라이브러리를 사용하는 방식을 변경합니다.
당신이 볼 수 있듯이 질문에 "정확한"대답이 없을 수도 있습니다. 당신은 찬성과 반대 의견에 무게를 달아야합니다. –