wln*_*ana 3 c++ tdd unit-testing design-patterns
粗略地说,我有一个实现只有一个公共方法的线程的类run.该方法进入一个循环,就像调度程序一个接一个地处理网络消息; 如下:
class WorkerThread {
public:
void run() {
while (!b_shutdown) {
message = getNextMessage();
switch(message.type) {
case WRITE:
write();
case READ:
read();
// ...
// more cases to handle
}
}
}
private:
void write() { /* logic to test */ }
void read() { /* logic to test */ }
// more private methods with logic that needs testing
// some member variables
};
Run Code Online (Sandbox Code Playgroud)
所以重点是我真的不想
WorkerThread.但是,如何优雅地测试私有方法呢?
注意:
c++,所以我用更流行的静态类型标记它Java以获得更多关注:P