Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在TDD反应测试中#描述和#it方法做什么?_Javascript_Reactjs_Tdd_Chai_Enzyme - Fatal编程技术网

Javascript 在TDD反应测试中#描述和#it方法做什么?

Javascript 在TDD反应测试中#描述和#it方法做什么?,javascript,reactjs,tdd,chai,enzyme,Javascript,Reactjs,Tdd,Chai,Enzyme,我正在通过React学习TDD,但我不明白作者是如何得到描述的和它的,这些通常不是来自Jasmine吗?我在作者的github的node_模块中没有看到这个包,他的tests.js也没有导入任何看起来像description或的东西。这两种方法从何而来 import React from 'react'; import { expect } from 'chai'; import { shallow, mount, render } from 'enzyme'; describe('Test

我正在通过React学习TDD,但我不明白作者是如何得到
描述的
和它的,这些通常不是来自Jasmine吗?我在作者的github的node_模块中没有看到这个包,他的
tests.js
也没有导入任何看起来像
description
的东西。这两种方法从何而来

import React from 'react';
import { expect } from 'chai';
import { shallow, mount, render } from 'enzyme';


describe('Test suite for User component', () => {
  it('UserComponent should exist', () => {
    let wrapper = shallow(<User />)
    expect(wrapper).to.exist;
  });
});
从“React”导入React;
从“chai”导入{expect};
从“酶”导入{shall,mount,render};
描述('用户组件的测试套件',()=>{
它('UserComponent应该存在',()=>{
让包装器=浅()
expect(wrapper).to.exist;
});
});

如果这是您将在测试套件中使用的唯一的
it()
语句,那么您实际上不需要
descripe()

descripe()
结构确实存在于Jest中,它也存在于Mocha中

descripe()
函数用于将某些测试集组合在一起,这些测试集具有一些共同的设置和分解。这就是为什么我说,基于您粘贴的代码,如果您没有进一步的测试,您就不需要
descripe()
函数

因此,当您运行
createreact-app
时,自动加载的库之一就是Jest测试套件

我还将重写该测试,而不是应该存在UserComponent,我将这样做

it('shows a user component', () => {
  let wrapper = shallow(<User />);
  expect(wrapper.find(User).length).toEqual(1);
});
it('显示用户组件',()=>{
让包装器=浅();
expect(wrapper.find(User.length).toEqual(1);
});

因此,我建议您不仅要学习教程,还要查阅他们在这些教程中使用的工具的文档。在酶的例子中,有一种非常好的方法叫做
find()
,它提供了一个数组,因此你可以添加
.length
,因为它只是用户的一个组件,你可以在
末尾添加它

如果这是您将在测试套件中使用的唯一
it()
语句,那么您实际上不需要
descripe()

descripe()
结构确实存在于Jest中,它也存在于Mocha中

descripe()
函数用于将某些测试集组合在一起,这些测试集具有一些共同的设置和分解。这就是为什么我说,基于您粘贴的代码,如果您没有进一步的测试,您就不需要
descripe()
函数

因此,当您运行
createreact-app
时,自动加载的库之一就是Jest测试套件

我还将重写该测试,而不是应该存在UserComponent,我将这样做

it('shows a user component', () => {
  let wrapper = shallow(<User />);
  expect(wrapper.find(User).length).toEqual(1);
});
it('显示用户组件',()=>{
让包装器=浅();
expect(wrapper.find(User.length).toEqual(1);
});

因此,我建议您不仅要学习教程,还要查阅他们在这些教程中使用的工具的文档。在酶的例子中,有一种非常好的方法叫做
find()
,它提供了一个数组,因此你可以添加
.length
,因为它只是用户的一个组件,你可以在
末尾添加它

他们来自
mocha
。作者已经将其添加到package.json中,以使用mocha运行测试。检查这个。我注意到他也使用了#childAt,但他不是从酶中输入的,怎么可能?我想你弄错了。这是包装器对象上的一个方法。它们来自
mocha
。作者已经将其添加到package.json中,以使用mocha运行测试。检查这个。我注意到他也使用了#childAt,但他不是从酶中输入的,怎么可能?我想你弄错了。它是包装器对象上的一个方法。