请考虑以下方法:
/**
* Set whether messages are printed to System.out. *
* @param printOutput True to print, false for silent logging
*/
public void setPrintOutput(boolean printOutput) {
// Synchronize to messages because this field is used when a message is received
synchronized (messages) {
this.printOutput = printOutput;
}
}
此方法是涉及消息的一组方法的一部分,因此我想编写一个测试,检查此方法是否在消息上同步.有谁知道我会怎么做?
解决方法:
我认为这超出了单元测试的范围,因为整个同步点是在两段远程代码之间提供某种类型的连接.
您可以测试它的行为方式,消息为null且不为null,这样就可以完全覆盖.它不会说明您的同步在语义上是否正确.