java - 请帮助我理解这个 JUnit 考试问题
问题描述
在为即将到来的考试学习时,我在一次旧考试中偶然发现了这个关于 JUnit 的问题,但我并没有真正明白这一点。
给出了以下图片和问题:
第一类:
第二类:
- 解释测试“A 类”时存在的问题
- 为问题制定解决方案
- 编写一个 JUnit 测试以显示“方法 s”是否正确显示字符串。
是实际代码逻辑中的错误还是更多接口未正确实现?
解决方案
我一直在看你附上的这两张图片,但我真的很困惑。
当我编写测试时,我需要知道方法或类的目的是什么,但我们对所呈现代码中所需功能的信息很少。
您的问题:“实际代码逻辑中是否有错误”很难回答,因为您必须尝试破译代码的含义,该代码缺少任何形式的变量名或类名。也没有任何评论描述任何东西。最重要的是有一个未指定逻辑的接口
public boolean u(int v, int w)
这应该是什么只能想知道。
这意味着我们缺少最重要的部分:理解我们需要测试的代码的预期行为。
如果我们只解析代码并编写一个只遵守函数中指定操作的测试,那将不是一个测试。这有点与测试驱动开发相反,编写为代码工作的测试,而不是编写指定代码如何工作的测试,然后修改代码以按照测试断言的方式工作。
如果这个问题出现在我的考试中,我会拒绝编写任何代码或尝试测试它。我只想说明所提供的信息不足以提供有意义的测试。
我希望这个答案对您有所帮助。我相信看看你的教授对这个问题的看法会很有趣。可能的情况是,他们希望学生了解单元测试的真正含义,并且不希望您实际编写任何代码,但得出的结论是代码确实没有任何测试意义。
推荐阅读
- r - R - 将 Tigris SF Shapefile 添加到 ggmap
- admob - 我可以使用 admob 在 Webgl 上显示广告以在 Facebook 上发布游戏吗
- swift - 分钟和秒,带 2 位数字
- codeigniter - 遇到未捕获的异常。调用未定义的方法 Admin_model
- websocket - websockets.exceptions.ConnectionClosed:WebSocket 连接已关闭:代码 = 4008(私人使用),原因 = 速率受限
- html - 在另一个 div 中对齐 3 个 div 并将它们垂直居中
- opencl - PyOpenCL - 没有看到预期的加速
- angular - Rxjs 全局任务定时器
- python - 将html页面中选择的文件加载到pandas
- php - 如何在 WooCommerce 中显示所有具有变化的自定义产品属性