我正在开发一个没有任何框架的网站,我想使用 panther 集成一些测试。
信息
我的文件夹结构
myproject/
├── src/
│ ├── myprojectrootfile-1.php
│ ├── ...
├── Test/
│ ├── E2eTest.php
├── vendor/
├── composer.json
├── composer.lock
├── phpunit.xml.dist
我的 composer.json
{
"require-dev": {
"phpunit/phpunit": "9",
"symfony/panther": "^0.7.1"
}
}
我的 phpunit.xml.dist
<phpunit>
<extensions>
<extension class="Symfony\Component\Panther\ServerExtension" />
</extensions>
<php>
<server name="KERNEL_DIR" value="./Tests/App" />
<server name="PANTHER_WEB_SERVER_DIR" value="./src/" />
</php>
</phpunit>
我的 E2eTest.php
<?php
namespace App\Tests;
use Symfony\Component\Panther\PantherTestCase;
class E2eTest extends PantherTestCase
{
public function testMyApp(): void
{
$client = static::createPantherClient(); // Your app is automatically started using the built-in web server
$client->request('GET', '/src/index.php');
// Use any PHPUnit assertion, including the ones provided by Symfony
$this->assertPageTitleContains('My Title');
$this->assertSelectorTextContains('#main', 'My body');
}
}
问题
当我运行时.\vendor\bin\phpunit .\Tests\E2eTest.php
出现错误:
1) App\Tests\E2eTest::testMyApp 错误:调用未定义的方法 App\Tests\E2eTest::assertPageTitleContains()
我不明白为什么。
谢谢你的帮助