【发布时间】:2018-10-26 17:17:36
【问题描述】:
我开始学习更好的 TDD,并且正在研究很多文章...
例如在一篇文章中我看到了这个测试代码:
import React from 'react';
import {shallow} from 'enzyme';
import ProductList from './ProductList';
it('should render a list of products as an unordered list', () => {
const mockProducts = [
{id: 1, name: 'Mock Product 1', brand: 'MockBrandA'},
{id: 2, name: 'Mock Product 2', brand: 'MockBrandB'},
{id: 3, name: 'Mock Product 3', brand: 'MockBrandC'},
];
const wrapper = shallow(<ProductList products={mockProducts}/>);
expect(wrapper.find('li').length).toEqual(mockProducts.length);
// 3
});
这是一个测试 ul/li 列表组件的简单代码,它将返回 3 ,因为我们在 mockProducts 数组中有 3 个项目。
所以我真的很困惑!!!
真的为什么我们要检查这段代码?!
每次编辑后,程序员都会在浏览器中查看结果,那么为什么要编写这个测试,它是必不可少的?!
例如,如果我写了这段代码,当我保存代码时,我会在浏览器中检查结果,我会查看结果,我知道没问题,这没有错误,所以我为什么要写测试代码甚至简单的组件?
它只是 CI 工具和调试过程必不可少的还是它是一种不同的方法?或者可能只是为了了解构建秒数和检查构建时间?!
谢谢
【问题讨论】:
标签: reactjs unit-testing mocha.js chai jestjs