当前位置: 首页 > 面试题库 >

2个JUnit声明类之间的区别

纪成礼
2023-03-14
问题内容

JUnit框架包含2个Assert类(显然是在不同的包中),每个类的方法似乎非常相似。有人可以解释为什么吗?

我要参考的类是:junit.framework.Assertorg.junit.Assert


问题答案:

(JUnit
3的)旧方法是通过扩展标记测试类junit.framework.TestCase。那继承了junit.framework.Assert它自己,并且您的测试类获得了以这种方式调用assert方法的能力。

从JUnit版本4开始,该框架Annotations用于标记测试。因此,您不再需要扩展TestCase。但这意味着,断言方法不可用。但是您可以静态导入新Assert类。这就是为什么新类中的所有assert方法都是静态方法的原因。因此,您可以通过以下方式导入它:

import static org.junit.Assert.*;

静态导入之后,您可以使用不带前缀的此方法。

在重新设计时,他们还迁移到了新的程序包org.junit,该程序包遵循了更好的程序包命名常规。



 类似资料:
  • 问题内容: “ Prepared Statement”是Statement的稍强版本,并且应始终至少与Statement一样快捷且易于处理。 准备好的语句可能已参数化 大多数关系数据库通过四个步骤来处理JDBC / SQL查询: 解析传入的SQL查询 编译SQL查询 规划/优化数据采集路径 执行优化的查询/获取并返回数据 对于发送到数据库的每个SQL查询,一个Statement将始终执行上述四个步

  • 本文向大家介绍Java中定义和声明之间的区别。,包括了Java中定义和声明之间的区别。的使用技巧和注意事项,需要的朋友参考一下 对于定义和声明之间的区别,应该首先考虑其字面含义,其中包括声明或声明的“声明”方法,而描述某些实体的“定义”方法。 以下是定义和声明之间的重要区别。 序号 键 声明 定义 1 概念 声明的概念包括通知编译器有关变量的属性,例如变量的名称,其持有的值的类型以及初始值(如果有

  • 问题内容: public class SomeClass { private HashSet contents = new HashSet (); private Set contents2 = new HashSet (); } 有什么不同?最终它们都是不是吗?第二个对我来说似乎是错误的,但是我看到它经常被使用,接受和工作。 问题答案: 是一个接口,并且是实现该接口的类。 将变量声明为类型意味着

  • 问题内容: 我有一个问题:这两个声明有什么区别? 是一样的吗? 问题答案: 在可变参数上 方法参数声明中的构造通常称为varargs。在JLS中,它称为 可变arity 参数。 JLS8.4.1格式参数 列表中的最后一个形式参数是特殊的;它可以是 可变 Arity参数,由类型后面的省略号表示。 如果最后一个形式参数是类型的可变arity参数,则考虑定义类型的形式参数。然后,该方法是 可变Arity

  • 问题内容: 两者的含义使我难以理解。 问题答案: 甲声明引入的标识符和描述了它的类型,无论是类型,对象,或功能。声明是编译器需要接受对该标识符的引用的内容。这些是声明: 甲定义实际实例化/器具该标识符。这是什么样的连接器需要以链接引用这些实体。这些是与上述声明相对应的定义: 可以使用定义代替声明。 可以根据需要多次声明标识符。因此,以下内容在C和C ++中是合法的: 但是,必须定义一次。如果忘记定

  • 看完问题后,我知道了声明和定义之间的区别。那么它是否意味着定义等于声明加初始化呢?