Symfony/Codeception 运行错误

Posted

技术标签:

【中文标题】Symfony/Codeception 运行错误【英文标题】:Symfony/Codeception Run Errors 【发布时间】:2016-07-19 06:26:06 【问题描述】:

我有一个带有简单 Codeception (2.1.7) 验收测试设置的 Symfony 2.4.4 站点。运行验收测试时出现以下错误:

[Codeception\Exception\ConfigurationException]
AcceptanceTester class doesn't exist in suite folder.
Run the 'build' command to generate it

AcceptanceTester 类确实存在于tests/acceptance 目录中。如果我运行构建,我会收到以下错误:

[Codeception\Exception\ConfigurationException]
Configuration file could not be found.
Run `bootstrap` to initialize Codeception.

codeception.yml 文件确实存在并包含以下内容:

actor: Tester
paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    helpers: tests/_support
settings:
    bootstrap: _bootstrap.php
    colors: false
    memory_limit: 1024M
coverage:
    enabled: true
    remote: true
    include:
        - app/*
    exclude:
        - app/cache/*
include:
    ...
modules:
    config:
        Db:
            dsn: ''
            user: ''
            password: ''
            dump: tests/_data/dump.sql

如果我运行引导程序,它会确认这一点:

Project is already initialized in '.'

acceptance.suite.yml 包含:

class_name: AcceptanceTester
modules:
    enabled:
        - AcceptanceHelper

有什么建议吗?

【问题讨论】:

【参考方案1】:

    AcceptanceTester.php 文件应位于 tests/_support 目录中。 运行codecept build 重新生成测试器文件。

    您没有启用任何模块的acceptance.suite.yml。 您必须启用 Symfony2、PhpBrowser 和 WebDriver 之一。

    您的站点使用旧版本的 Symfony,如果使用 Symfony2 模块,可能会导致 Codeception 出现问题,因此我建议使用 PhpBrowser 或 WebDriver 对其进行测试。

【讨论】:

感谢关于 AcceptanceTester.php 的提示。然而,如上所述,codecept build 不起作用。【参考方案2】:

我相信,你需要运行命令codecept bootstrap

【讨论】:

如上所述,如果我运行引导程序,它会引发错误:Project is already initialized in '.'【参考方案3】:

我遇到了这个问题,我意识到我运行了 codecept bootstrap,但 vendortests 文件夹位于错误的目录中。

我关注了this video,它帮助了我。

【讨论】:

请使用cmets链接外部资源,否则请提供完整答案并附上代码和解释。

以上是关于Symfony/Codeception 运行错误的主要内容,如果未能解决你的问题,请参考以下文章

声纳运行器授权错误

系统运维系列 之java编译运行中常见的几个错误整理

颤振自动路由构建运行器错误路由必须具有页面或重定向目标

无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。 docker 守护进程是不是正在运行?带有自托管运行器的 Gitlab Cloud CI/CD 错误

XCTest 测试运行器在完成运行测试之前以代码 -1 退出

docker-compose RabbitMQ与Nodejs接收端同时运行时的错误