Codeception。测试数据库以进行验收测试或纯PHP的功能测试

时间:2018-03-02 18:28:24

标签: php codeception

有没有办法为纯PHP上编写的应用程序运行验收或功能性Codeception测试并使用测试数据库?

取决于文档,无法使用测试数据库进行验收测试

  

在验收测试中,您的测试通过Web服务器与应用程序进行交互。这意味着测试和应用程序使用相同的数据库。您应该在应用程序使用的Db模块中提供相同的凭据,然后您可以访问数据库以进行断言(请参阅“数据库操作”)并执行自动清理。

Source

从另一方面来看,由于功能测试需要使用其中一个框架模块,因此无法在纯PHP上运行功能测试。

我只是开始学习Codeception而且可能会错过什么?

谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

是的,您可以让您的验收测试使用您的测试数据库。您需要设置应用程序以在测试环境中使用测试数据库。

例如,如果您的应用程序在本地URL www.mywebsite.dev上运行,则可以通过www.mywebsite.test访问时使用测试数据库的方式对其进行配置 在应用程序的某处,您可以检查主机,如果主机是www.mywebsite.test,请让应用程序连接到测试数据库,否则连接到开发数据库。

或者甚至更好,如果您使用类似.env的配置,您可以设置环境变量APP_ENV=test并在连接到数据库之前检查应用程序中的值。