当前位置: 首页 > 知识库问答 >
问题:

返回后用结果断言单元测试;

梅庆
2023-03-14
void someMethod(Context context, int a){
if(context==null || a == 0){
return;
}
 //some code here
}

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

当然,问题是类是空的,为什么我想测试这种方法可能会有问题,但我想听听一些可能性。

共有1个答案

柳英资
2023-03-14

如果方法没有返回值,则可以测试的内容是:

  • 状态更改:对其调用SomeMethodContext的实例是否存在预期(或意外)状态更改,或者方法中可能发生更改的其他全局状态。
  • 异常:如果contextnull,并且不返回此处,则随后可能会得到nullpointerexception或其他类型的异常。但是您并不真正需要显式地检查此异常,因为如果发生了您意想不到的异常,JUnit测试就会失败(您只需要确保在测试中没有意外地吞下该异常)。

最后,这是您应该测试的:测试方法做了什么(状态更改、抛出的异常、返回值(如果有的话)等等),而不是它如何做(它是在这一行还是那一行返回)。

 类似资料:
  • 玩弄Mockito来实现我的服务的单元测试,但由于某种原因,我无法通过我的厚脑袋来实现这一点。我的考试通过了,但我不能确信我做得对。 下面是一个测试count()方法的示例。该方法只是将调用转发到它的存储库,我不想验证仅此而已,没有其他事情发生。这就是我得到的: 我的考试及格了,但我有一些问题。 > 我需要验证吗?我觉得我这样做是因为我想验证personRepository。实际上调用了count

  • 我试图实现一个单元测试的在与。 我在关注这个链接,它运行良好,但结果为空,当我用浏览器测试我的websocket时,它会发送所需的结果。 让我展示一下我的测试课 } 这是我的< code > WebSocketConfiguration 类 } 这是我从服务器得到的响应 更新: 在下面的答案中添加建议的更改并经过进一步的研究后,我的测试类现在看起来像这样 } 经过这些更改后,我现在可以将堆栈跟踪打

  • 问题内容: 我使用asp.net和网络表单。在我的项目中,我有asmx Web服务 结果就是这种格式。 如何在$ .ajax成功中附加此结果标签以获取此输出: 1-测试1,2-测试2。 问题答案: 而是返回列表,并使用[ScriptMethod(ResponseFormat = ResponseFormat.Json)]属性- 它将自动创建JSON对象作为返回: 在JS方面:

  • 问题内容: 假设我在Python单元测试中具有以下代码: 有没有一种简单的方法可以断言在测试的第二行期间调用了特定方法(在我的情况下)?例如是否有这样的事情: 问题答案: 我为此使用Mock(在py3.3 +上现在是unittest.mock): 对于您的情况,它可能看起来像这样: Mock支持许多有用的功能,包括修补对象或模块的方式以及检查是否调用了正确的东西等。 买者自负! (请当心!) 如果

  • 问题内容: 我正在尝试创建一种方法,从中可以查询数据库并检索整个表。 目前,如果我使用这些数据只是正常工作 中 的方法。但是,我希望该方法返回结果。 我正在了解当前代码。 我该如何实现? 问题答案: 您永远不要通过公共方法来回避。这很容易导致资源泄漏,因为您不得不保持语句和连接打开。关闭它们将隐式关闭结果集。但是,将它们保持打开状态将导致它们悬而未决,并且当它们打开过多时,将导致数据库用尽资源。

  • 我有一个spring boot应用程序,它有一个endpoint测试配置类和一个单元测试来测试我的http客户端。我正在尝试从应用程序中获取服务器地址和端口。位于我的src/测试中的属性。(所有类都在我的src/测试中。) 这是我的配置类代码: 我对我的中的值进行了注释。属性,然后创建一个方法,我用bean实例化该方法以返回我的服务器地址字符串。 然后,我在HttpClientTest类中使用该字