개인 Ctor, Dtor 및 getInstance() 메소드가있는 Singleton 클래스가 있습니다.GMOCK을 사용하여 개인 생성자가있는 클래스 조롱
class Single {
public:
virtual void* alloc(size_t size, uint line){}
Single* getInstance() {
if(!m_Instance)
m_Instance = __OSAL_NEW OSAL_Memory;
return m_Instance;
}
private:
Single();
~Single();
static Single* m_Instance;
};
#define Allocate(size_t size)\
(Single::getInstance())->alloc(size, __LINE__)
GMOCK을 사용하여이 클래스를 모의 할 필요가 있습니다. 조롱하는 방법이 있습니까?
싱글 톤은 기껏해야 단위 테스트가 어렵습니다. 최선의 해결책은 당신이 그것을 없애려고하는 것입니다. 일반 클래스로 만들고 필요로하는 객체/함수로 전달합니다. –