我正在尝试为 void 方法创建一些单元测试。基本上,该方法旨在显示系统用户的角色并在软件中实现它。
这是方法:
public void setPersonObj(Person typeObj)
{
this.typeObj = typeObj;
createMain();
}
我如何在使用单元测试检查此方法的单独类中创建断言案例?
非常感谢
最佳答案
如果该方法是void
,它显然有一些副作用。否则它将是空操作。因此您别无选择,需要验证这些副作用。
如何测试这些副作用取决于您使用的技术和测试方法:
如果该方法调用一些其他协作者/对象,模拟它们并随后验证模拟
如果它改变了一些其他组件的状态(添加元素到集合,修改字段)查询并断言它们
如果它在磁盘/数据库上存储了一些东西,也查询它们
如果在Swing中显示一些窗口,你需要使用Swing测试框架,如Window Licker
如果...您可以提供更多技术详细信息?
顺便说一句,执行一些额外的不相关逻辑的 setter 是一种代码味道。维护此类代码的人会发现很难弄清楚这个无辜的 setPersonObj()
除了...设置之外还做了其他事情。
此外,所有这些名称:Person
、PersonObj
和 typeObj
应该相同,以确保与 JavaBean 规范的一致性和兼容性。
关于java - void 方法的单元测试和断言案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230150/