让我们假设:
void someMethod(Context context, int a){
if(context==null || a == 0){
return;
}
//some code here
}
是否有可能以某种方式测试它是否已在此if语句上停止,如果它没有返回任何内容? 我的意思是,我想把某种断言检查“okey,context is null,所以它在这次返回时停止了。”
当然,问题与课程无效有关,为什么我想测试这种方法可能有问题,但我想听听一些可能性。
答案 0 :(得分:4)
如果某个方法没有返回值,那么您可以测试的是:
someMethod
或context
的实例的预期(或意外)状态更改,或者可能恰好在其中更改的某个其他全局状态方法context
为null
,而您未返回此处,则可能会随后获得NullPointerException
或其他类型的例外情况。但是您并不需要明确地检查这一点,因为如果发生了一个您不期望的JUnit测试将会失败(您只需要确保在测试中不小心吞下该异常)。 / LI>
最后,这就是你应该测试的内容:测试方法做什么(状态更改,抛出异常,返回值(如果有的话)等),不它是如何做的(它是在这一行还是那行返回)。