这是我们开发的这个小程序的一个里程碑:我们已经完成了代码部分全部的任务,他执行了一个真正的任务,还自带一点css,虽然是微小的工作。其实在这里我们可以说,这给项目已经做完了,你可以停下来去做自己想写的React 程序了。
但是如果是真正的项目,你需要做的还有更多。
少了什么东西呢?缺少测试。用来确保我们写的代码得到我们想要的结果。现在,我们很容易看出代码做了什么,因为我们的程序足够简单。不过如果是更大的程序呢,如果按照流程进行测试,就算之后开发更复杂的项目,即使代码量增加也很容易找到问题。
有的人想让我一开始就提到测试,而且从头到尾融入进教程。现在最流行的开发方式之一就是测试驱动开发(TDD),尽管它已经变成了行为驱动型开发(BDD),他们非常相似(其实就差不多),这两种方法都建议你在写代码之前先写测试。
所以,这次我们写了很多没测试过的代码,如果这是一个真正的项目,是非常不可靠的。接下来我会教你如何进行测试,但是在之后的编程过程中你应该在写代码之前先写测试。
首先我们要选一个测试框架,我们的选择很多。之前我用过Mocha和Chai,Jasmine也很有名Facebook的Jest框架也是从Jasmine改进过来的。
上面的是好消息,下面的是坏消息:上面这些框架都不是很容易就能开始用的。我很想帮你走出第一步让你不再害怕测试。所以我把下一章反复修改了好多次,每次写下来都能找到更简单的解释方法,最终的结果是,我认为,已经足够简单了。
我们将使用Jest框架,但是我们不用Mocking,即使Mocking是Jest最重要的功能之一,不过同时它也是很难让初学者理解的。尽管如此,Jest还是提供了能想象的到的最简单的测试方法,希望下一章你不会看得太痛苦。
在你喷我之前我想说:是的,我知道Mocha更快,不过Jest更简单易懂,初学者一般都用这个。没必要说Mocha更厉害,我知道,我都知道。相信我,这是我反复权衡的结果。好了吗?好的来进行下一章
(请允许译者在这里停笔,本书从发布至今原作者并没有进行维护,原作使用的是react router 2.x版本,而最新版本是4.x,为了弥补译者已经重写了很多章的内容,奈何本人能力有限,后面章节也没有进行了解,贸然大幅度修改实在不是好的解决办法。)
到这为止的代码都放在了本人github上,如果想了解更多内容也请查看原作.
当然最好还是参阅别的教程,毕竟前端日新月异的嘛。