请问这样的方法代表什么意思?
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
------解决方案--------------------极少写内部类