【问题标题】:Codeception is not rolling back DB changes in Laravel 5?Codeception 没有回滚 Laravel 5 中的数据库更改?
【发布时间】:2016-02-10 01:27:36
【问题描述】:

我是 codeception 的新手,我正在使用它来测试我在 laravel 5 中创建的 Web 服务。所以我的主配置文件如下所示:

codeception.yml

actor: Tester
paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    support: tests/_support
    envs: tests/_envs
settings:
    bootstrap: _bootstrap.php
    colors: true
    memory_limit: 1024M
extensions:
    enabled:
        - Codeception\Extension\RunFailed
modules:
    config:
        Db:
            dsn: 'mysql:host=localhost;dbname=carparts'
            user: 'root'
            password: 'SomePassword'
            dump: tests/_data/dump.sql

名为 api.suite.yml 的套件文件如下所示:

class_name: ApiTester
modules:
    enabled:
        - Laravel5
        - REST:
            url: http://localhost:8000/api/
            depends: PhpBrowser
    config:
        Laravel5:
            cleanup: true
            environment_file: .env.testing

我还将我的数据库carparts 的整个转储复制粘贴到dump.sql 文件中,但是当我运行测试时,我仍然看到创建的新用户正在测试中创建。我错过了什么?我哪里错了?

【问题讨论】:

  • 你使用 Innodb 引擎吗?显示您的 CREATE TABLE 语句。
  • 我在 PhpMyAdmin 中查看数据库,所有表都是 Inndodb。

标签: php database laravel laravel-5 codeception


【解决方案1】:

所以我不知道为了回滚数据库我需要启用 Db 模块:

class_name: ApiTester
modules:
    enabled:
        - Laravel5
        - Db
        - REST:
            url: http://localhost:8000/api/
            depends: PhpBrowser
    config:
        Laravel5:
            cleanup: true
            environment_file: .env.testing

就这么办了。

【讨论】:

    猜你喜欢
    • 2016-10-19
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2017-03-09
    • 1970-01-01
    • 2018-09-26
    • 2015-04-20
    相关资源
    最近更新 更多