ホームページ バックエンド開発 PHPチュートリアル Yii Framework 公式ガイド シリーズ サプリメント 40 - テスト: 機能テスト

Yii Framework 公式ガイド シリーズ サプリメント 40 - テスト: 機能テスト

Feb 16, 2017 am 09:13 AM



この章を読む前に、Selenium のドキュメントと PHPUnit のドキュメントを読むことを強くお勧めします。以下では、Yii フレームワークで機能テストを作成する基本原則を簡単に説明します。 、機能テスト CWebTestCase を継承する XyzTest クラスの形式で記述されます。Xyz はテスト対象のクラスを表します。PHPUnit_Extensions_SeleniumTestCase は CWebTestCase の祖先クラスであるため、継承できます。このクラスから すべてのメソッド

  • 機能テスト クラスは、便宜上、通常、protected/tests/function フォルダー. <p></p>
  • Xyz 代表被测试的类. 由于 PHPUnit_Extensions_SeleniumTestCase 是 CWebTestCase的祖先类, 我们我们可以从这个类中继承所有方法.
  • 功能测试类以XyzTest.php的形式保存在PHP文件中.方便起见, 功能测试文件通常保存在 protected/tests/functional文件夹下.

  • 测试类主要包含一系列命名为testAbc的测试方法, 其中 Abc 通常是要测试的特性的名字,例如, 想要测试用户登录功能, 我们可能会有一个命名为 testLogin的测试方法.

  • 测试方法包含一系列的用于测试 Selenium RC和web应用之间进行交互的命令语句. 它还包含用于确认我们所期望的web应用回复的断言语句.

在描述如何写一个功能测试之前, 我们先看看通过yiic webapp命令自动生成的 WebTestCase.php 文件。这个文件定义了作为所有功能测试类的基类 WebTestCase:

define('TEST_BASE_URL','http://localhost/yii/demos/blog/index-test.php/');

class WebTestCase extends CWebTestCase
{
    /**
     * Sets up before each test method runs.
     * This mainly sets the base URL for the test application.
     */
    protected function setUp()
    {
        parent::setUp();
        $this->setBrowserUrl(TEST_BASE_URL);
    }

    ......
}
ログイン後にコピー

WebTestCase主要设置了测试页面的根 URL,后面在测试方法中我们可以使用相对URLs来指定要测试的页面。

我们还要注意,在测试根 URL中, 使用了 index-test.php 作为入口脚本而不是 index.php. 两者之间的唯一不同就是前者使用test.php作为应用配置文件,而后者使用的是 main.php.

现在我们开始讲述测试在blog演示中如何测试显示一篇文章这一功能特性. 首先编写如写的测试类, 注意测试类继承自我们上面所述的基类 WebTestCase:

class PostTest extends WebTestCase
{
    public $fixtures=array(
        'posts'=>'Post',
    );

    public function testShow()
    {
        $this->open('post/1');
        // verify the sample post title exists
        $this->assertTextPresent($this->posts['sample1']['title']);
        // verify comment form exists
        $this->assertTextPresent('Leave a Comment');
    }

    ......
}
ログイン後にコピー

和编写单元测试一样,我们首先声明了本测试所用到的特定状态( fixtures).这里我们指定使用 Post fixture. 在 testShow 测试方法中, 我们首先使用 Selenium RC 打开 URL post/1.注意这是一个相对 URL, 完整的 URL 是拼接了基类中的根URL (i.e. http://www.php.cn/). 然后我们验证是否可以在当前页面中找到sample1 post 的title. 我们还可以验证这个页面是否包含文本 Leave a Comment.

Tip: 在运行功能测试之前, Selenium-RC server 要先启动. 这可以通过在你的Selenium server安装目录下执行命令 java -jar selenium-server.jar テスト クラスには、主に testAbc という名前の一連のテスト メソッドが含まれています。ここで、Abc は通常、テストする機能の名前です。ユーザー ログイン機能をテストするには、testLogin という名前のテスト メソッドがあります。

このテスト メソッドには、Selenium RC と Web 間の対話をテストするための一連のコマンド ステートメントが含まれています。これには、Web アプリケーションが応答することを期待するアサーション ステートメントも含まれています 機能テストの記述方法を説明する前に、まず WebTestCase.php を見てみましょう。 yiic webapp コマンドによって自動的に生成されます。このファイルは、すべての機能テスト クラスの基本クラスを定義します。<code>WebTestCase:


rrreee

WebTestCase は主に、後で使用されるテスト ページのルート URL を設定します。テスト方法 相対 URL を使用して、テストするページを指定できます。
テスト ルート URL では、index.php の代わりに index-test.php がエントリ スクリプトとして使用されることにも注意する必要があります。前者はアプリケーション構成ファイルとして test.php を使用し、後者は main.php を使用します。

🎜ここからは、ブログのデモで記事を表示する機能をテストする方法について説明します。まず最初に、テスト クラスを記述どおりに記述します。テスト クラスは、上で説明した基本クラス WebTestCase を継承していることに注意してください。ここでは、Post フィクスチャの使用を指定します。testShow テスト メソッドでは、まず Selenium RC を使用して URL post/1 を開きます。 > これは相対 URL であることに注意してください。完全な URL は基本クラスのルート URL と連結されます (つまり、http://www.php.cn/)。 >sample1 は、現在のページの code> 投稿タイトルにあります。このページに コメントを残す というテキストが含まれているかどうかも確認できます。🎜🎜ヒント:🎜 機能テストを実行する前に、最初に Selenium-RC サーバーを起動する必要があります。これは、次のコマンドを実行することで実行できます。 Selenium サーバーのインストール ディレクトリ 🎜java -jar selenium-server.jar🎜達成するために。 🎜🎜🎜🎜🎜🎜🎜 上記は、Yii Framework 公式ガイド シリーズ サプリメント 40 - テスト: 機能テストの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。 🎜🎜🎜🎜🎜🎜🎜
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP で Yii フレームワークを使用する方法 PHP で Yii フレームワークを使用する方法 Jun 27, 2023 pm 07:00 PM

Web アプリケーションの急速な開発に伴い、最新の Web 開発は重要なスキルになりました。効率的な Web アプリケーションを開発するために多くのフレームワークやツールが利用できますが、その中でも Yii フレームワークは非常に人気のあるフレームワークです。 Yii は、最新のデザインパターンとテクノロジーを使用し、強力なツールとコンポーネントを提供し、複雑な Web アプリケーションの構築に最適な、高性能のコンポーネントベースの PHP フレームワークです。この記事では、Yii フレームワークを使用して Web アプリケーションを構築する方法について説明します。まずYiiフレームワークをインストールし、

Yii フレームワークでの RESTful API 開発 Yii フレームワークでの RESTful API 開発 Jun 21, 2023 pm 12:34 PM

Yii は、PHP をベースにした高性能 MVC フレームワークで、Web アプリケーションの迅速かつ効率的な開発をサポートする非常に豊富なツールと機能のセットを提供します。中でも、Yii フレームワークの RESTful API 機能は、Yii フレームワークを使用することで高性能で拡張性の高い RESTful インターフェースを簡単に構築でき、Web アプリケーションの開発を強力にサポートできるため、ますます開発者の注目と愛を集めています。 RESTfulAPI の概要 RESTfulAPI は

Yii フレームワークを使用して Web ページのキャッシュとページのチャンクを実装する手順 Yii フレームワークを使用して Web ページのキャッシュとページのチャンクを実装する手順 Jul 30, 2023 am 09:22 AM

Yii フレームワークを使用して Web ページのキャッシュとページのチャンクを実装する手順 はじめに: Web 開発プロセス中、Web サイトのパフォーマンスとユーザー エクスペリエンスを向上させるために、多くの場合、ページのキャッシュとチャンクが必要になります。 Yii フレームワークは強力なキャッシュとレイアウト機能を提供しており、開発者が Web ページのキャッシュとページ チャンキングを迅速に実装できるようにします。この記事では、Yii フレームワークを使用して Web ページのキャッシュとページ チャンキングを実装する方法を紹介します。 1. Web ページのキャッシュをオンにする Yii フレームワークでは、設定ファイルを通じて Web ページのキャッシュをオンにすることができます。メイン設定ファイルを開きます。

GitLab の統合テスト機能と一般的な使用例 GitLab の統合テスト機能と一般的な使用例 Oct 21, 2023 am 10:49 AM

GitLab の結合テスト機能と一般的なユースケース [はじめに] ソフトウェア開発プロセスにおいて、テストは不可欠なリンクです。継続的インテグレーションと継続的デリバリーの開発環境では、統合テストが重要な役割を果たします。人気のあるコード ホスティング プラットフォームとして、GitLab はバージョン管理およびコラボレーション ツールを提供するだけでなく、豊富な統合テスト機能も提供します。この記事では、GitLab の統合テスト機能を詳しく紹介し、一般的なテスト ケースとコード例を示します。 【GitLab統合テスト機能】G

Yii フレームワークを使用してゲームガイド Web サイトを作成する Yii フレームワークを使用してゲームガイド Web サイトを作成する Jun 21, 2023 pm 01:45 PM

近年、ゲーム業界の急速な発展に伴い、ゲームをクリアするためのゲーム戦略を模索するプレイヤーがますます増えています。したがって、ゲームガイド Web サイトを作成することで、プレイヤーはゲームガイドを入手しやすくなると同時に、プレイヤーにより良いゲーム体験を提供することができます。このような Web サイトを作成する場合、開発には Yii フレームワークを使用できます。 Yii フレームワークは、PHP プログラミング言語に基づいた Web アプリケーション開発フレームワークです。高効率、セキュリティ、強力な拡張性という特徴があり、ゲームガイドをより迅速かつ効率的に作成するのに役立ちます。

PHP コードテスト機能の使用に関するヒントと経験の共有 PHP コードテスト機能の使用に関するヒントと経験の共有 Aug 10, 2023 am 09:25 AM

PHP コード テスト機能の使用に関するヒントと経験の共有 PHP アプリケーションを開発する場合、コード テストは非常に重要なリンクです。コードのテストでは、コードの正確性をチェックおよび検証して、プログラムの安定した動作を保証できます。この記事では、開発者がコード テストをより適切に実施できるように、PHP コード テストに関するいくつかのヒントと経験を紹介します。単体テスト フレームワークの使用 単体テストは、プログラム内の独立した機能モジュールごとのテストです。単体テスト フレームワークを使用すると、テスト プロセスが簡素化され、強力なアサーションとテスト結果のレポートが提供されます。

Yii フレームワークミドルウェアを使用して機密データを暗号化および復号化する Yii フレームワークミドルウェアを使用して機密データを暗号化および復号化する Jul 28, 2023 pm 07:12 PM

Yii フレームワークミドルウェアを使用した機密データの暗号化と復号化 はじめに: 最新のインターネット アプリケーションでは、プライバシーとデータ セキュリティが非常に重要な問題です。ユーザーの機密データに権限のない訪問者がアクセスできないようにするには、このデータを暗号化する必要があります。 Yii フレームワークは、機密データの暗号化と復号化の機能を実装するためのシンプルかつ効果的な方法を提供します。この記事では、Yii フレームワークのミドルウェアを使用してこれを実現する方法について説明します。 Yii フレームワークの概要 Yii フレームワークは、高性能の PHP フレームワークです。

Yii Framework Middleware: アプリケーションにロギング機能とデバッグ機能を追加します。 Yii Framework Middleware: アプリケーションにロギング機能とデバッグ機能を追加します。 Jul 28, 2023 pm 08:49 PM

Yii フレームワーク ミドルウェア: アプリケーションにロギング機能とデバッグ機能を追加する [はじめに] Web アプリケーションを開発する場合、通常、アプリケーションのパフォーマンスと安定性を向上させるために、いくつかの機能を追加する必要があります。 Yii フレームワークは、アプリケーションがリクエストを処理する前後にいくつかの追加タスクを実行できるようにするミドルウェアの概念を提供します。この記事では、Yii フレームワークのミドルウェア機能を使用してロギングとデバッグ機能を実装する方法を紹介します。 【ミドルウェアとは】 ミドルウェアとは、アプリケーションがリクエストを処理する前後のリクエストとレスポンスの処理を指します。

See all articles