簡體   English   中英

如何在 Symfony 中擴展 WebTestCase

[英]How to extend WebTestCase in Symfony

我想在 symfony 中編寫功能測試,但我無法覆蓋 WebTestCase 的createKernel方法。 我們的應用程序通過使用 HttpKernel 像這樣集成了 symfony:

$kernel = new HttpKernel($dispatcher, $controllerResolver, new 
RequestStack(), $argumentResolver);

$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();

$kernel->terminate($request, $response);

我嘗試從createKernel方法返回這個內核,但它沒有一些方法(如getContainer() )稍后會出錯。 如何為 WebTestCase 創建自己的內核?

請參閱文檔測試(symfony 文檔)

要運行您的功能測試,WebTestCase 類需要知道哪個是應用程序內核來引導它。 內核類通常定義在 KERNEL_CLASS 環境變量中(包含在 Symfony 提供的默認 phpunit.xml.dist 文件中):

<?xml version="1.0" charset="utf-8" ?>
<phpunit>
    <php>
        <!-- the value is the FQCN of the application kernel -->
        <env name="KERNEL_CLASS" value="App\Kernel" />
    </php>
    <!-- ... -->
</phpunit>

此外,您的 bin 目錄中有 phpunit runnable,app 目錄中有 phpunit.xml.dist 文件。 通常你可以通過bin/phpunit -c app path_to_the_tests運行測試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM