使用Codeception运行现有的Laravel 5.1 PHPUnit测试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Codeception运行现有的Laravel 5.1 PHPUnit测试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1562字,纯文字阅读大概需要3分钟。
内容图文
![使用Codeception运行现有的Laravel 5.1 PHPUnit测试](/upload/InfoBanner/zyjiaocheng/664/a7f5d6abf92f40dcb3b51e3bebb2838f.jpg)
我为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
但是我得到这个回应:
06001
所以我的问题是这样的:
我如何说服代码接受以最小的修改运行我现有的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测试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。