日期:2014-05-20  浏览次数:20847 次

请问这样的方法代表什么意思?
ThrowAssert.assertThrows(BuildException.class,   "Failed   to   create   result   dir ",   new   TestBlock()   {
                        public   void   call()   throws   Throwable   {
                                config.prepareResultDir(cantCreateDir);
                        }
                }
                );

请问上面的BuildException.class   代表什么意思?

------解决方案--------------------
现在的Java代码,越来越看不懂了。

------解决方案--------------------
都是些自定义的异常类
具体的作用要看ThrowAssert这个类的assertThrows方法所需要的参数和做的事情
从字面上看,这段代码是当目录不存在时做相应处理
------解决方案--------------------
BuildException.class

表示这个类的 Class对象

就像String.class 一样

你这个方法是你的测试用例里面的吧


------解决方案--------------------
这个应该是测试代码啊
------解决方案--------------------
上面的代码就是调用的代码啊


------解决方案--------------------
严重谴责这样的写代码的方式。
除了难看点,一无是处。
------解决方案--------------------
ThrowAssert.assertThrows(BuildException.class, "Failed to create result dir ", new TestBlock() {
public void call() throws Throwable {
config.prepareResultDir(cantCreateDir);
}
}
);

从第一行说起:执行某类的assertthrows方法 并传如3个参数
第三个参数是一个类的方法,也就是内部类 由于没有重复使用的价值就直接调用了
哎 ~ 这算说明白了吗?
------解决方案--------------------
纯粹的内部类~ 不过这么写的人是不太多的 个人比较喜欢这么写:)
------解决方案--------------------
BuildException.class是取这个对象的类也就是他的class
------解决方案--------------------
极少写内部类