• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

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

追求代码质量: 用 AOP 进行防御性编程

发布: 2008-6-23 17:50 | 作者: 不详 | 来源: 领测软件测试网编辑整理 | 查看: 19次 | 进入领测软件测试网论坛讨论

领测软件测试网 软件测试技术门户p&M s p;Z N

软件测试技术门户2H2w kuHY

    软件测试技术门户-n0?`@"r3R
import java.util.Vector;
{[|PHimport static org.testng.Assert.assertEquals;
a7|5~K8Sc\"k timport org.testng.annotations.DataProvider;软件测试技术门户@Q!l @+S` |O
import org.testng.annotations.Test;软件测试技术门户}sF&C'Ns:l9j

软件测试技术门户`{nUYa4?E`

public class BuildHierarchyTest {软件测试技术门户"d1oq^{
 
uPy|+rn)E.S @DataProvider(name = "class-hierarchies")
'J On1]g1tC{ public Object[][] dataValues(){
D0}&x(D4a*QV.r  return new Object[][]{
hY$Tqb;U'q6g   {Vector.class, new String[] {"java.util.AbstractList",
7F?:B)HcB/n3h)J      "java.util.AbstractCollection"}},
'T*u;r5r"vU   {String.class, new String[] {}}软件测试技术门户?7k}:R5zS,b
  };
gy(j~f8e7u }

3I[_E a

-PS$}+J'~#rk @Test(dataProvider = "class-hierarchies"})软件测试技术门户F-Msjx Mm
 public void verifyHierarchies(Class clzz, String[] names) throws Exception{软件测试技术门户)|8t.]E~9zvU
  Hierarchy hier = HierarchyBuilder.buildHierarchy(clzz);软件测试技术门户gZ`@ c*tcU0E
  assertEquals(hier.getHierarchyClassNames(), names, "values were not equal");
_M JD VYWC5R\ }
C kp:Ta$I}软件测试技术门户!B7x1Wt$IOQ[
 

mQp)Ps f]g7[ 软件测试技术门户){5BM` C'DOP

软件测试技术门户7V)~2J*S.ER M
至此,我还是没有发现缺陷,但一些代码问题却困扰着我。如果有人不经意地为 Class 参数传入一个 null 值会怎么样呢?清单 1 中第 4 行的 clzz.getSuperclass() 调用会抛出一个 NullPointerException,是这样吗?

o4|h