如何单元测试Singleton类 - C++?

Aqu*_*irl 6 c++ oop design-patterns

在C++中对Singleton模式进行单元测试有哪些方法?(请举例)

dar*_*rak 11

使单例的实现成为一个单独的类,并创建一个在外部实现"单例"的包装器.这样你就可以根据需要测试实现(除了单例行为,这是微不足道的,不必要的).

class SingletonImpl {
public:
  int doit(double,double);
};

class Singleton {
public:
  Singleton& instance() {...}
  int doit(double a,double b) {impl->doit(a,b);}
  ...
private:
  SingletonImpl impl;
}
Run Code Online (Sandbox Code Playgroud)