已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以用事实与引用来回答.
11天前关闭。
Improve this question
我目前正在为我的新项目建立一个开发环境,我正在努力思考一件事。我计划使用Yii。我想让功能测试自动化,我已经让gerrit和Jenkins就位,正在工作。
我读了this note,发现Selenium有类似html套件的东西。我以前从来没有听说过它,我总是写我的测试通过PHPUnit运行。我使用默认的Yii功能测试环境as described here。
所以我的问题是,这两种方法的优缺点是什么?我已经能想到html套件的一个优点和缺点。优点是,编写测试真的很容易--你只需要在Selenium IDE中“点击”它们。缺点是,我可能必须在测试之前运行db fixture,而我不能更改它们,或者像这样运行它们--加载fixture,运行测试,加载fixture,运行测试,但我想那会使测试变得草率得多。你怎么看/你在这件事上有什么经验?
2条答案
按热度按时间yhived7q1#
有一个简单的方法来编写功能测试。你可以下载一个selenium IDE的插件,然后为这个插件添加php formatter,你可以非常容易地制作和导出功能测试。
那么您应该配置您的protected/config/test.php和protected/tests/bootstrap.php
您可能应该编辑protected/tests/phpunit.xml并删除FireFox以外的任何浏览器。
然后像Willem Renzema说的那样做,更改此插件所做的测试,将类的名称更改为WebTestCase,并删除setUp()
那么您就可以运行测试了!
欢呼声
9rbhqvlz2#
PhPUnit和Selenium Remote Control这两个包与Yii集成得很好,所以这两个包在Yii开发者中比较常见。
关于部署功能测试,我不确定你想深入到什么程度,但是就我所用的来说,它是相当容易的。功能测试,就是php类,它是从CWebTestCase. Yii CWebTestCase class description扩展而来的。
命名惯例是你必须将类命名为以Test结尾的ExampleTest.php,并将文件存储在protected/tests/functional下。你需要设置所有的东西,包括包,以及更改Yii配置文件和你的默认浏览器。如果一切顺利,一个示例测试可以是这样的:
这就是我所知道的一切,我希望这对我有帮助。