## 一、Demo应用
请先安装[Demo](https://github.com/ruanyf/react-testing-demo)。
~~~
$ git clone https://github.com/ruanyf/react-testing-demo.git
$ cd react-testing-demo && npm install
$ npm start
~~~
然后,打开 http://127.0.0.1:8080/,你会看到一个 Todo 应用。
![](http://www.ruanyifeng.com/blogimg/asset/2016/bg2016021202.png)
接下来,我们就要测试这个应用,一共有5个测试点。
1. 应用标题应为"Todos"
2. Todo项的初始状态("未完成"或"已完成")应该正确
3. 点击一个Todo项,它就反转状态("未完成"变为"已完成",反之亦然)
4. 点击删除按钮,该Todo项就被删除
5. 点击添加按钮,会新增一个Todo项
这5个[测试用例](https://github.com/ruanyf/react-testing-demo/tree/master/test)都已经写好了,执行一下就可以看到结果。
~~~
$ npm test
~~~
下面就来看,测试用例应该怎么写。测试框架我用的是Mocha,如果你不熟悉,可以先读我写的[《Mocha教程》](http://www.ruanyifeng.com/blog/2015/12/a-mocha-tutorial-of-examples.html)。