java - 第一次写junit:需要建议
问题描述
我写了一个小代码来对一个名为“Type”的字段进行排序,现在我必须为它编写Junit测试。我是全新的写作测试,所以我想知道我考虑了多少条件. 例如,我为以下代码编写了测试代码: -
- testCompareBothNull,
- testComparePojo1NullPoj02NotNull,
- testComparePojo1NotNullPoj02Null,
- testComparePojo1NotNullPoj02NotNull
.
所以我需要你的建议。我提前谢谢你。
解决方案
根据经验,这与测试类似,它可以帮助程序员确保您编写的代码按预期运行。
考虑到这一点,您想测试哪些输入以确保您的代码有效?
你说:
我写了一个小代码来对一个名为“类型”的字段进行排序
所以这段代码一定是某种方法,对吧?
假设您有这样的事情:public List<MyObject> sort(List<MyObject> input)
您可以验证以下情况:
- 传null,结果是什么,是意料之中的吗?
- 通过空列表,结果是什么,是预期的吗?
- 通过一个元素的列表 - 它会排序吗?
- 通过具有
MyObject#type
字段的元素的列表null
。结果是预期的吗? - 已排序的通过列表/
- 未排序的通过列表,请确保现在已排序。
- 具有相同对象的通过列表
(sort(listOf(a, a, a, a))
- 通过列表
null-s
:(sort(null, new MyObject(..), null)
总而言之,您可以决定您可以走多远才能感觉到代码有效。
推荐阅读
- python - 如何使用pickle保存聊天机器人模型
- python - 将图例放置在指定位置的图中,如果它与 smth 重叠,则仅回退到“最佳”(matplotlib)
- swift - 仅在收到数据时才快速启动视图
- ios - 从邮件应用程序共享附件在 iOS 13 中不起作用
- python - 保存熊猫数据框时出现UnicodeEncodeError
- r - 为什么 MASS:lm.ridge 系数与手动计算的系数不同?
- flutter - 在小部件的构建方法中执行导航?- 颤动
- python - 使用 ldpa3 时如何修复格式错误的过滤器错误
- sas - 如何通过在 SAS 中对字符变量进行分组来创建新的分类变量
- android - 使用 Intent 在环聊或 Duo 中发起视频通话?