测试驱动开发(TDD)介绍-Symfony5全面开发

您需要登录后才可观看此视频

为了更好的为您提供服务,请您登录后再查看本课程。

立即登录 注册账号

我们在进行项目开发的时候,随着项目版本的迭代,可能增加了一些新的功能,也可能修改了一些旧的功能。为了保证项目的健壮性,尽可能的排除一些未知的bug,就需要编写一些测试代码来进行自动化的测试。

通常在进行测试的时候有3种方式,第一种方式就是先完成功能,然后再编写测试代码进行测试。,第二种就是直接完成代码的功能,然后手动的看一下运行的结果,手动进行测试。第三种就是先编写测试代码,然后再进行开发,我们把第三种叫做TDD测试驱动开发。我们本节课讲解第三种方式测试驱动开发

我这里找到一篇文章,它讲解了一下测试驱动开发。

#《TDD 開發五步驟,帶你實戰 Test-Driven Development 範例》文章链接
https://tw.alphacamp.co/blog/tdd-test-driven-development-example

测试驱动开发是一种开发流程,用一句白话形容就是先写测试再开发,在下面有一个测试驱动开发的流程图,我们打开看一下。

测试驱动开发分为两大块,第一步就是先编写测试代码,然后执行测试代码,肯定会出错的,出错之后我们用最低的限度来完成代码的功能,让代码能够通过测试就可以了。然后,在测试通过之后重构代码,重构代码的过程中,我们可以优化我们编写的代码来提升代码的可读性、可维护性、可扩展性。每次修改代码都要同步修改测试代码,确保测试代码可以通过。这就是测试驱动开发的流程。

PHP的测试框架有好多种,我们本套课程将使用phpunit来对代码进行测试,我们打开symfony.sh这个网站。Symfony官方为我们提供了一个test组件,test组件可以让phpunit和我们的Symfony项目进行集成。

我们安装一下test组件,回到项目,打开底部控制台,composer req test --dev,现在已经安装完成了。我们看命令行的提示,所有的测试用例都在tests文件夹中,Symfony的flex组件在安装组件时自动的替我们添加了tests目录,我们可以使用make:test命令行来快速的创建一个测试代码。

然后运行php bin/phpunit来进行测试,我们打开bin目录,已经有了phpunit这个测试启动文件,flex组件还创建了.env.test文件,这个文件是在测试环境下的环境变量设置文件。

我们还可以手动的创建开发环境下的环境变量文件,比如我们新建一个文件.env.dev,在开发环境下,这个文件下的环境变量设置将会覆盖.env文件下的环境变量设置。如果我们修改.dev下的环境变量,那么在开发环境下,DATABASE_URL这个变量将会覆盖.env下的DATABASE_URL这个变量。同样的在测试环境下设置的环境变量,也将覆盖.env文件中的环境变量。

这里我们先删除一下,最后flex组件为我们创建了phpunit.xml.dist文件,这是phpunit单元测试框架的配置文件,我们暂时不需要修改,保持默认就可以了。这样test组件就已经安装完成了。

在下一节,我们将使用make命令行来创建单元测试,并让测试代码运行通过。

课程讨论

当前内容评论功能已关闭。