JUnit框架包含2个Assert
类(显然是在不同的程序包中),每个类的方法似乎非常相似。有人可以解释为什么吗?
我要参考的类是:junit.framework.Assert
和org.junit.Assert
。
JUnit框架包含2个Assert
类(显然是在不同的程序包中),每个类的方法似乎非常相似。有人可以解释为什么吗?
我要参考的类是:junit.framework.Assert
和org.junit.Assert
。
Answers:
(JUnit 3的)旧方法是通过扩展标记测试类junit.framework.TestCase
。那继承了junit.framework.Assert
它自己,并且您的测试类获得了以这种方式调用assert方法的能力。
从JUnit版本4开始,该框架Annotations
用于标记测试。因此,您不再需要扩展TestCase
。但这意味着,断言方法不可用。但是您可以静态导入新Assert
类。这就是为什么新类中的所有assert方法都是静态方法的原因。因此,您可以通过以下方式导入它:
import static org.junit.Assert.*;
静态导入之后,您可以使用不带前缀的此方法。
在重新设计时,他们还迁移到了新的软件包org.junit
,该软件包更好地遵循了软件包命名的常规约定。
junit.framework.*
从中的静态导入下拉列表中排除Editor->General->Auto Import->Exclude from Import and Completion
。