首页 > 解决方案 > 请帮助我理解这个 JUnit 考试问题

问题描述

在为即将到来的考试学习时,我在一次旧考试中偶然发现了这个关于 JUnit 的问题,但我并没有真正明白这一点。

给出了以下图片和问题:

第一类:

一级

第二类:

二级

  1. 解释测试“A 类”时存在的问题
  2. 为问题制定解决方案
  3. 编写一个 JUnit 测试以显示“方法 s”是否正确显示字符串。

是实际代码逻辑中的错误还是更多接口未正确实现?

标签: javatestingjunit

解决方案


我一直在看你附上的这两张图片,但我真的很困惑。

当我编写测试时,我需要知道方法或类的目的是什么,但我们对所呈现代码中所需功能的信息很少。

您的问题:“实际代码逻辑中是否有错误”很难回答,因为您必须尝试破译代码的含义,该代码缺少任何形式的变量名或类名。也没有任何评论描述任何东西。最重要的是有一个未指定逻辑的接口

public boolean u(int v, int w)

这应该是什么只能想知道。

这意味着我们缺少最重要的部分:理解我们需要测试的代码的预期行为

如果我们只解析代码并编写一个只遵守函数中指定操作的测试,那将不是一个测试。这有点与测试驱动开发相反,编写为代码工作的测试,而不是编写指定代码如何工作的测试,然后修改代码以按照测试断言的方式工作。

如果这个问题出现在我的考试中,我会拒绝编写任何代码或尝试测试它。我只想说明所提供的信息不足以提供有意义的测试。

我希望这个答案对您有所帮助。我相信看看你的教授对这个问题的看法会很有趣。可能的情况是,他们希望学生了解单元测试的真正含义,并且不希望您实际编写任何代码,但得出的结论是代码确实没有任何测试意义。


推荐阅读