• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

面向Java开发人员db4o指南:数组和集合

发布: 2008-4-28 10:27 | 作者: 不详 | 来源: 无 | 查看: 23次 | 进入软件测试论坛讨论

领测软件测试网

即使包括所有这些代码,清单 2 提供的家庭关系模型还是过于简单。在这个层次结构中的某些地方,必须处理那些 null 值。但是,在 db4o 中,那个问题更应该在对象建模中解决,而不是在对象操作中解决。所以现在我可以放心地忽略它。

填充和测试对象模型

对于清单 2 中的 Person 类,需要重点注意的是,如果以关系的方式,使用父与子之间分层的、循环的引用来建模,那肯定会比较笨拙。通过一个实例化的对象模型可以更清楚地看到我所谈到的复杂性,所以我将编写一个探察测试来实例化 Person 类。注意,清单 3 中省略了 JUnit 支架(scaffolding)。

清单 3. 幸福家庭测试

@Test public void testTheModel()
{
Person bruce = new Person("Bruce", "Tate", 
Gender.MALE, 29, Mood.HAPPY); 
Person maggie = new Person("Maggie", "Tate", 
Gender.FEMALE, 29, Mood.HAPPY); 
bruce.setSpouse(maggie); 

Person kayla = maggie.haveBaby("Kayla", Gender.FEMALE); 

Person julia = maggie.haveBaby("Julia", Gender.FEMALE); 

assertTrue(julia.getFather() == bruce); 
assertTrue(kayla.getFather() == bruce); 
assertTrue(julia.getMother() == maggie); 
assertTrue(kayla.getMother() == maggie); 

int n = 0; 
for (Iterator<Person> kids = bruce.getChildren(); kids.hasNext(); )
{
Person child = kids.next(); 

if (n == 0) assertTrue(child == kayla); 
if (n == 1) assertTrue(child == julia); 

n++; 
}
}

目前一切尚好。所有方面都能通过测试,包括小孩 ArrayList 的使用中的长嗣身份。但是,当增加 @Before 和 @After 条件,以便用我的测试数据填充 db4o 数据库时,事情开始变得更有趣。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网