问题标签 [fakerphp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
110 浏览

php - 获取 InvalidArgumentException - laravel 中 fakerphp/faker 库中的未知格式,同时使用害虫在自定义测试套件中进行测试

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

所以 laravel 承认集成目录中的测试文件,我可以在一个单独的目录中用正确的名称(集成目录)编写我的集成测试,我把我的测试文件放在my-laravel-application/tests/Integration目录中,运行时出现以下错误php artisan test

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

0 投票
2 回答
26 浏览

php - 如何为 IDE 提供动态功能的自动完成提示?

我的具体案例围绕fakerphp/faker 展开,但我想这个案例可以用于其他库。

如果为 Faker 创建一个带有“提供者”的库,则基本上是创建一个具有某些方法的类,这些方法返回生成的假数据:

要将此提供程序添加到 Faker,请调用$faker->addProvider(new \Faker\Provider\Book($faker));.

现在问题来了。

在实际使用这个新的提供者方法时,需要通过 Faker 对象,该对象通过使用__call().

因此,当调用 时$faker->ISBN(),PhpStorm 将不知道该方法ISBN()存在并且它返回一个字符串。

在创建这样的库时,有没有办法通过注释或存根或其他方式提供这种自动完成(甚至可能是静态分析提示)?