PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用Codeception运行现有的Laravel 5.1 PHPUnit测试大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我为Laravel 5.1应用程序编写了许多测试,并且我目前正在使用PHPUnit来运行测试.我正在尝试研究代码接收,因为我们还有其他不在Laravel上构建的应用程序,因此代码接收似乎是获得类似接口进行测试的最简单方法.

我们有一个相当大的团队,所以我宁愿使用一个一致的命令来测试所有项目,而不是使用codecept和PHPunit.

这是我尝试过的codeception.yml:

actor: Tester
paths:
   tests: tests
   log: storage/codeception/_output
   data: storage/codeception/_data
   support: storage/codeception/_support
   envs: storage/codeception/_envs

modules:
   enabled:
       - Laravel5:
           environment_file: .env

但是我得到这个回应:

所以我的问题是这样的:

我如何说服代码接受以最小的修改运行我现有的PHPUnit测试?

解决方法:

经过很多时间,我发现这是可能的,但是您必须对测试的布局进行一些修改.好处是,它不会阻止您仅运行PHPUnit本身.

对于后代,以下是操作方法

>将单元测试和TestCase.PHP移到tests文件夹下名为unit的文件夹中.

它看起来应该像这样:

tests/
tests/unit/
tests/unit/MyUnitTest.PHP
tests/unit/TestCase.PHP

>在tests /文件夹中添加unit.suite.yml文件.

内容应如下所示:

modules:
    enabled:
        - Laravel5:
            environment_file: .env.testing

>使用测试类映射的正确文件夹将composer.json更新为

在您的autoload-dev部分中:

"classmap": [
    "tests/unit/TestCase.PHP"
]

>更新您的TestCase.PHP以从正确的文件夹加载bootstrap.PHP.

这应该在TestCase.PHP顶部的createApplication()方法

public function createApplication()
{
    // $app = require __DIR__ . '/../bootstrap/app.PHP';
    $app = require __DIR__ . '/../../bootstrap/app.PHP';

    $app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();

    return $app;
}

最后,运行composer dump-autoload,并且应该运行代码接收.另外,PHPunit也应该仍然运行.

大佬总结

以上是大佬教程为你收集整理的使用Codeception运行现有的Laravel 5.1 PHPUnit测试全部内容,希望文章能够帮你解决使用Codeception运行现有的Laravel 5.1 PHPUnit测试所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: