我有一个Utils类,它创建一个ToneGenerator对象并调用starttone函数。现在我需要为此编写测试用例。有人知道怎么做吗
我可以模拟静态对象并验证调用,但不验证启动音功能
public static void playError(final int volume) {`
ToneGenerator toneGen1 = `new`ToneGenerator(AudioManager.STREAM_MUSIC, volume);`
toneGen1.startTone(ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE, DURATION);
try {
Thread.sleep(DURATION * 2);
} catch (InterruptedException e) {
// nothing to do here
}
toneGen1.startTone(ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE, DURATION);
}
}
答案 0 :(得分:0)
您可以尝试直接通过类名调用函数,这意味着静态方法无需使对象调用它们。 因此,如果要验证任何静态方法,请直接通过类调用该方法。 在您的情况下,请像这样致电startTone,
ToneGenerator.startTone(ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE, DURATION);
如果执行成功,则startTone是静态的。