如何测试另一个类函数是静态函数调用

时间:2019-01-10 18:13:14

标签: android powermockito

我有一个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);
            }
    }

1 个答案:

答案 0 :(得分:0)

您可以尝试直接通过类名调用函数,这意味着静态方法无需使对象调用它们。 因此,如果要验证任何静态方法,请直接通过类调用该方法。 在您的情况下,请像这样致电startTone,

  ToneGenerator.startTone(ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE, DURATION);

如果执行成功,则startTone是静态的。