java基础之注解和测试props

注解的定义。

注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方式,使我们可以在稍后某个时刻非常方便地使用这些数据.。

注解基本概念。

基本注解。

javaSE5内置了三种,定义在java.lang中的注解提供使用。

@Override表示当前的方法定义将覆盖超类中的方法.。

@Deprecated标识为启用,在使用这个元素时会有警告提示。

@SuppressWarnings关闭不当的编译器警告信息。

另外提供了四种注解(元注解),用于创建注解.。

@Target用来定义你的注解将应用在什么地方。

可选的ElementType类型。

CONSTRUCTOR:构造器的声明。

FIELD:域账号(包括enum实例)。

LOCAL_VARLABLE:局部变量声明。

METHOD:方法声明。

PACKAGE:包声明。

PARAMETER长春Java培训:参数声明。

TYPE:类,接口(包括注解类型)或enum声明。

@Retention表示需要在什么级别保存该注解信息。

可选的RetentionPolicy类型。

SOURCE:源代码。

CLASS:类文件。

RUNTIME:运行时。

@Documented将此注解包含在javadoc中。

@Inherited运行子类继承父类中的注解。

注解元素。

注解可以添加的元素:。

所有基本类型(intfloatdoubleboolean等)。

String。

Class。

enum。

Annotation。

以上的数组类型。

没有元素的注解称为标记注解(markerannotation)例如@Override。

使用注意事项。

默认值限制编译器对元素的默认值很挑剔,元素不能有不确定的值(元素必须有默认值,或者使用时设置).默认值不能为null,长春Java培训哪家好可以使用””或者负数来自己标识某个元素不存在.。

注解不可继承.可以使用注解上加注解,或者元素上使用注解来实现这个功能。

我们将要测试ToDoList组件是否渲染Task组件,并将任务名称传递给他们。

通过测试,我们可以确保Task组件能够从ToDoList接收正确的props。

由于toDoListInstance和taskInstance均继承自ShallowWrapper,因此我们可以调用props函数,同样,你可以检查和更改状态。

但是如果我们想测试Task组件中

运行测试后你将会看到一个错误:。

使用mount函数渲染。

失败了,因为我们在这里用了“浅渲染”,在这种情况下子组件将根本不会被渲染,所以上面的测试失败了,你需要了解“浅渲染”的局限性。

Mount模拟了DOM的实现,而Jest默认使用j长春Java培训机构sdom,你可以通过testEnvironment属性进行更改。

在早期版本的Enzyme中,在浅层渲染期间未调用生命周期方法,但是在Enzyme3.0中发生了变化。

1consttoDoListInstance=mount(。

2<todolisttasks={tasks}>。</todolisttasks={tasks}>

3)。

4。

运行上面的代码将使整个ToDoList组件及其所有子组件渲染,前面失败的测试现在将会通过。

由于mount函数可渲染更多内容并模仿实际的DOM,所以测试将会花费更多时间,使用mount函数可能意味着你是在进行单元测试,而现在在进行集成测试,正是由于这个事实,使用mount函数能够测试这些组件是否可以协同工作,而不仅仅是单独的单元测试。

要弄清楚单元测试和集成测试的区别,请参见本教程第一部分。

  在测试与DOM的交互或高阶组件时,它也被证明是有用的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注