它山之玉可以重构:身份证号码解析、验证工具(第二天)

又是一个清新的早晨, 开始我们新的测试之旅.

2 - 第二个测试, 从身份号取到正确的性别信息.

==>很简单,依葫芦画瓢, 容易的写出第二个测试.

它山之玉可以重构:身份证号码解析、验证工具(第二天)_第1张图片
(本文版权属于© 2012 - 2013 予沁安)

==>很惊奇,居然没有过? 却不知, 测试的旅途中,Failed是常态.

它山之玉可以重构:身份证号码解析、验证工具(第二天)_第2张图片

==>好吧, 看看错误在哪?

它山之玉可以重构:身份证号码解析、验证工具(第二天)_第3张图片

在取性别代码时,作了验证,而且是全套. 为什么取地址时却不验证呢? 这个不一致性来源于---不是测试驱动,赫赫.

==>解决方案,把验证去掉, 呵呵. 一是解耦, 二是敏捷,还没有测试到的东西,不花过多的时间.

它山之玉可以重构:身份证号码解析、验证工具(第二天)_第4张图片

==>搞定.

它山之玉可以重构:身份证号码解析、验证工具(第二天)_第5张图片

==>可是,回过头来看测试的两个断言,一个生日,一个性别,毫无相关嘛? 于是,就有了下面的测试拆分:

它山之玉可以重构:身份证号码解析、验证工具(第二天)_第6张图片

==>测试类的名称也作了相应的修改,表意性更强. 然后,增加一个女性的测试,只是完善测试路径覆盖而已。

它山之玉可以重构:身份证号码解析、验证工具(第二天)_第7张图片

==》最后,很有成就感的看看测试结果

它山之玉可以重构:身份证号码解析、验证工具(第二天)_第8张图片

最后,成品代码和测试:
SocialID.cs SocialIDSpecs.cs

(本文版权属于© 2012 - 2013 予沁安 | 转载请注明作者和出处)

你可能感兴趣的:(重构,C#,身份证)