java - 返回后用结果进行单元测试断言;

标签 java android junit

假设:

void someMethod(Context context, int a){
if(context==null || a == 0){
return;
}
 //some code here
}

如果它没有返回任何东西,是否有可能以某种方式测试它是否已在此 if 语句上停止? 我的意思是,我想放置某种断言来检查“好的,上下文为空,所以它在这次返回时停止”。

当然,这个问题与该类是无效的有关,我为什么要测试这种方法可能会有疑问,但我想听听一些可能性。

最佳答案

如果一个方法没有返回值,你可以测试的是:

  • 状态变化:您调用 someMethodcontext 的实例是否有预期的(或意外的)状态变化,或一些其他可能的全局状态恰好在方法上发生了变化。
  • 异常:如果 contextnull,并且您没有返回此处,您可能会得到一个 NullPointerException 或其他类型的异常随后。但是你真的不需要明确地检查这一点,因为如果发生你不期望的事情,JUnit 测试就会失败(你只需要确保你不会在测试中意外吞下那个异常)。

最终,这就是您应该测试的内容:测试方法的作用(状态更改、抛出的异常、返回值(如果有)等), em> 它是如何做到的(它是在这一行还是那一行返回)。

关于java - 返回后用结果进行单元测试断言;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40782204/

相关文章:

java - 没有找到给定的测试包括 :

Android MVP 架构 - SharedPreference 是否被视为模型?

java - 如何将java项目集成到现有的Android Studios项目中

java - 数组赋值问题

java - 如何使用 Eclipse 在 Windows 上通过 RMI 命令运行 Java SE 6

java - Junit 和 EasyMock 理解澄清

java - 如何创建 Junit 测试类并在可执行 JAR 中运行

java - 从 eclipse 构建路径中删除 Junit

java - 我无法按行打印数组,只能打印一个长字符串

android - 如何在 android studio 中包含应用内图标选择器?