Yii框架官方指南系列增补版40——测试:功能测试(Functional Testing )
在阅读本章节之前, 强烈推荐你先阅读Selenium文档和 PHPUnit文档. 下面我们简要概述在Yii框架中编写功能测试的基本原则:
和单元测试一样, 功能测试以继承子自CWebTestCase的XyzTest类的形式编写, 其中
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
来实现。
以上就是Yii框架官方指南系列增补版40——测试:功能测试(Functional Testing )的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Yii ialah rangka kerja MVC berprestasi tinggi berdasarkan PHP Ia menyediakan set alat dan fungsi yang sangat kaya untuk menyokong pembangunan aplikasi web yang pantas dan cekap. Antaranya, fungsi RESTfulAPI bagi rangka kerja Yii telah menarik lebih banyak perhatian dan kasih sayang pembangun, kerana menggunakan rangka kerja Yii boleh membina antara muka RESTful berprestasi tinggi dan mudah berskala, memberikan sokongan kuat untuk pembangunan aplikasi web. Pengenalan kepada RESTfulAPI RESTfulAPI ialah a

Perisian tengah rangka kerja Yii: menyediakan sokongan storan data berbilang untuk aplikasi Pengenalan Middleware (perisian tengah) ialah konsep penting dalam rangka kerja Yii, yang menyediakan sokongan storan data berbilang untuk aplikasi. Middleware bertindak seperti penapis, memasukkan kod tersuai antara permintaan dan respons aplikasi. Melalui perisian tengah, kami boleh memproses, mengesahkan, menapis permintaan, dan kemudian menyerahkan hasil yang diproses kepada perisian tengah atau pengendali akhir yang seterusnya. Middleware dalam rangka kerja Yii sangat mudah digunakan

Fungsi ujian integrasi GitLab dan kes penggunaan biasa [Pengenalan] Dalam proses pembangunan perisian, ujian adalah pautan yang sangat diperlukan. Dalam persekitaran pembangunan penyepaduan berterusan dan penyampaian berterusan, ujian integrasi memainkan peranan penting. Sebagai platform pengehosan kod yang popular, GitLab bukan sahaja menyediakan alat pengurusan versi dan kerjasama, tetapi juga menyediakan fungsi ujian integrasi yang kaya. Artikel ini akan memperkenalkan keupayaan ujian integrasi GitLab secara terperinci dan menyediakan kes ujian biasa dan contoh kod. [Fungsi ujian bersepadu GitLab]G

Dengan perkembangan pesat aplikasi web, pembangunan web moden telah menjadi kemahiran penting. Banyak rangka kerja dan alatan tersedia untuk membangunkan aplikasi web yang cekap, antaranya rangka kerja Yii adalah yang sangat popular. Yii ialah rangka kerja PHP berasaskan komponen berprestasi tinggi yang menggunakan corak dan teknologi reka bentuk terkini, menyediakan alatan dan komponen yang berkuasa serta sesuai untuk membina aplikasi web yang kompleks. Dalam artikel ini, kita akan membincangkan cara menggunakan rangka kerja Yii untuk membina aplikasi web. Pasang rangka kerja Yii dahulu,

Langkah-langkah untuk melaksanakan caching halaman web dan chunking halaman menggunakan rangka kerja Yii Pengenalan: Semasa proses pembangunan web, untuk meningkatkan prestasi dan pengalaman pengguna tapak web, selalunya perlu untuk cache dan chunk halaman. Rangka kerja Yii menyediakan fungsi caching dan reka letak yang berkuasa, yang boleh membantu pembangun melaksanakan caching halaman web dan chunking halaman dengan pantas Artikel ini akan memperkenalkan cara menggunakan rangka kerja Yii untuk melaksanakan caching halaman web dan chunking halaman. 1. Hidupkan caching halaman web Dalam rangka kerja Yii, caching halaman web boleh dihidupkan melalui fail konfigurasi. Buka fail konfigurasi utama co

Petua dan perkongsian pengalaman tentang penggunaan fungsi ujian kod PHP Semasa membangunkan aplikasi PHP, ujian kod adalah pautan yang sangat penting. Melalui ujian kod, ketepatan kod boleh disemak dan disahkan untuk memastikan operasi program yang stabil. Artikel ini akan memperkenalkan beberapa petua dan pengalaman dalam ujian kod PHP untuk membantu pembangun menjalankan ujian kod dengan lebih baik. Menggunakan rangka kerja ujian unit Ujian unit ialah ujian untuk setiap modul berfungsi bebas dalam program. Menggunakan rangka kerja ujian unit memudahkan proses ujian dan menyediakan beberapa penegasan yang kuat dan pelaporan hasil ujian

Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat industri permainan, semakin ramai pemain telah mula mencari strategi permainan untuk membantu mereka melepasi permainan. Oleh itu, mencipta laman web panduan permainan boleh memudahkan pemain mendapatkan panduan permainan, dan pada masa yang sama, ia juga boleh memberikan pemain pengalaman permainan yang lebih baik. Apabila mencipta tapak web sedemikian, kita boleh menggunakan rangka kerja Yii untuk pembangunan. Rangka kerja Yii ialah rangka kerja pembangunan aplikasi web berdasarkan bahasa pengaturcaraan PHP. Ia mempunyai ciri kecekapan tinggi, keselamatan dan kebolehskalaan yang kukuh, serta boleh membantu kami mencipta panduan permainan dengan lebih cepat dan cekap.

Perisian tengah rangka kerja Yii: Tambah keupayaan pengelogan dan penyahpepijatan pada aplikasi [Pengenalan] Semasa membangunkan aplikasi web, biasanya kami perlu menambah beberapa ciri tambahan untuk meningkatkan prestasi dan kestabilan aplikasi. Rangka kerja Yii menyediakan konsep perisian tengah yang membolehkan kami melaksanakan beberapa tugas tambahan sebelum dan selepas aplikasi mengendalikan permintaan. Artikel ini akan memperkenalkan cara menggunakan fungsi perisian tengah bagi rangka kerja Yii untuk melaksanakan fungsi pengelogan dan penyahpepijatan. [Apakah middleware] Middleware merujuk kepada pemprosesan permintaan dan respons sebelum dan selepas aplikasi memproses permintaan.
