首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用pest在自定义测试套件中测试时,从laravel中的fakerphp/faker库获取InvalidArgumentException未知格式

在使用pest在自定义测试套件中测试时,从laravel中的fakerphp/faker库获取InvalidArgumentException未知格式
EN

Stack Overflow用户
提问于 2022-01-03 13:19:57
回答 2查看 780关注 0票数 0

我正在使用病虫害库用laravel编写测试。我用laravel创建了my-laravel-application/tests/Integration目录,并在phpunit.xml中定义了一个新的测试套件。

代码语言:javascript
复制
<testsuite name="Integration">
   <directory suffix=".test.php">./tests/Integration</directory>
</testsuite>

这样,laravel就可以确认Integration中的测试文件,并且我可以将集成测试写在一个单独的目录中( integration ),并将我的测试文件放在my-laravel-application/tests/Integration目录中,并在运行php artisan test时得到以下错误

代码语言:javascript
复制
InvalidArgumentException - Unknown format "name"
vendor/fakerphp/faker/src/Faker/Generator.php:657

这表明我的UserFactory中的UserFactory代码行(我在测试中使用UserFactory类)有问题,它说$this->faker上不存在name()方法。但是,在将它们移到my-laravel-application/tests/Integration目录之前,我的测试过去工作得很好。什么是真正的问题,我如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2022-01-03 13:19:57

我找到了基于这个答案的解决方案。对于新创建的目录(集成目录)中编写的所有测试,您应该强制使用Tests\TestCase (而不是PHPUnit\Framework\TestCase),方法是向/tests/Pest.test添加以下代码

代码语言:javascript
复制
uses(Tests\TestCase::class)->in('Integration');
票数 4
EN

Stack Overflow用户

发布于 2022-06-04 18:35:58

这条线给我节省了很多时间。

我确保在整个测试过程中使用正确的测试用例.

代码语言:javascript
复制
uses(Tests\TestCase::class)->in(__DIR__);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70566393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档