我正在使用病虫害库用laravel编写测试。我用laravel创建了my-laravel-application/tests/Integration目录,并在phpunit.xml中定义了一个新的测试套件。
<testsuite name="Integration">
<directory suffix=".test.php">./tests/Integration</directory>
</testsuite>这样,laravel就可以确认Integration中的测试文件,并且我可以将集成测试写在一个单独的目录中( integration ),并将我的测试文件放在my-laravel-application/tests/Integration目录中,并在运行php artisan test时得到以下错误
InvalidArgumentException - Unknown format "name"
vendor/fakerphp/faker/src/Faker/Generator.php:657这表明我的UserFactory中的UserFactory代码行(我在测试中使用UserFactory类)有问题,它说$this->faker上不存在name()方法。但是,在将它们移到my-laravel-application/tests/Integration目录之前,我的测试过去工作得很好。什么是真正的问题,我如何解决这个问题?
发布于 2022-01-03 13:19:57
我找到了基于这个答案的解决方案。对于新创建的目录(集成目录)中编写的所有测试,您应该强制使用Tests\TestCase (而不是PHPUnit\Framework\TestCase),方法是向/tests/Pest.test添加以下代码
uses(Tests\TestCase::class)->in('Integration');发布于 2022-06-04 18:35:58
这条线给我节省了很多时间。
我确保在整个测试过程中使用正确的测试用例.
uses(Tests\TestCase::class)->in(__DIR__);https://stackoverflow.com/questions/70566393
复制相似问题