Tho*_*mas 7 phpunit drupal functional-testing configuration-management drupal-8
我想知道如何在我正在测试的模块的功能测试中导入配置同步文件。例如,我想测试一些自定义内容类型,并且 config/sync 中有许多文件与定义自定义内容类型的节点模块有关。
class ArticleControllerTest extends BrowserTestBase {
protected static $modules = ['node', 'dist_source'];
}
Run Code Online (Sandbox Code Playgroud)
在测试的顶部,我定义了成功导入的模块,但它不包括配置同步设置,因此我的自定义内容类型都不存在。如何将这些导入到我的测试环境中?
在开始测试 Drupal 8 时,我也有同样的问题。经过阅读一些文档和教程,我尝试并知道了几种方法:
$this->configImporter()帮助将配置从同步导入到活动状态$this->configImporter()退出于Drupal\Tests\ConfigTestTrait. 该特征已用于一些基础测试类,例如BrowserTestBase.
然而,该方法对我不起作用。因为,我用的是迅雷安装配置文件。配置文件安装完成后存在默认内容。一旦$this->configImporter()开始导入同步配置,就会遇到某些实体类型无法更新的错误,因为实体已经存在。
(没试过)
如果Drupal站点通过标准配置文件安装,您可以尝试将同步配置放入测试配置文件中。安装配置文件生成器模块可以帮助您创建测试配置文件。配置和配置文件存在相关问题#2788777
config/install或config/optional(为我工作)
贡献的模块总是将配置放入config/install和config/optional。安装模块后,配置也将写入数据库或活动存储中。文档 - 在 Drupal 8 模块中包含默认配置
在模块中开发配置时,配置开发有助于将配置导出到config/install开发的模块中。
如果有人有同样的经历,欢迎与我们分享。
| 归档时间: |
|
| 查看次数: |
2040 次 |
| 最近记录: |