有没有办法对用纯PHP编写并使用测试数据库的应用程序运行验收或功能Codeception测试???
取决于文档,不可能使用测试数据库进行验收测试
在验收测试中,测试通过 Web 服务器与应用程序交互。这意味着测试和应用程序使用相同的数据库。您应该在 Db 模块中提供与应用程序相同的凭据,然后您可以访问数据库以进行断言(请参阅InDatabase 操作(并执行自动清理。
源
另一方面,看起来不可能在纯PHP上运行功能测试,因为功能测试需要使用其中一个框架模块。
我才开始学习Codeception,可能会错过一些东西吗?
感谢您的任何帮助!
是的,您可以让验收测试使用测试数据库。您需要将应用程序设置为在测试环境中使用测试数据库。
例如,如果应用程序在本地 url 上运行 www.mywebsite.dev
,则可以将其配置为在通过 www.mywebsite.test
访问时使用测试数据库在应用程序中的某个位置,您可以检查主机,如果主机www.mywebsite.test
则让应用程序连接到测试数据库,否则连接到开发数据库。
或者更好的是,如果您使用的是像 .env 这样的配置,则可以设置一个环境变量APP_ENV=test
并在连接到数据库之前在应用程序中检查它的值。