如何从多个测试用例中执行测试用例的选择
我想使用 php 单元轻松执行我的多个测试用例类中选定的几个测试用例。
由于我的 1-2 个测试用例因一堆测试用例而失败,并且还发现很难再次执行这两个测试套件的整个测试套件,因此是否有任何方法无需向其他测试用例添加注释或将这两个方法复制到不同的套件中。
提前感谢大家
I want to execute few selected test cases from my class of multiple test cases using php unit with ease.
As my 1-2 test cases are failing from bunch of test cases and also finding difficult to execute whole test suite again for these two, is there any method without adding comment to the others or copying these two methods in different suite.
Thanks to all in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 - 从套件中运行单个测试用例或单个测试类-filter cli 选项:
--filter
运行名称与给定模式匹配的测试。该模式可以是单个测试的名称,也可以是匹配多个测试名称的正则表达式。示例
BlaTest.php 中的测试用例
testSame
和testElse
:采用以下示例测试类
BlaTest
,其中包含文件BlaTest
中的测试用例此过滤器与测试类名称匹配。
在
BlaTest
中运行单个测试用例此过滤器与测试用例名称匹配,然后指示跨文件 BlaTest.php 运行此过滤器。
You may run single test cases or single test classes from your suites using the --filter cli option:
--filter
runs tests whose name matches the given pattern. The pattern can be either the name of a single test or a regular expression that matches multiple test names.Example
Take the following example test class
BlaTest
containing test casestestSame
andtestElse
in fileBlaTest.php
:Running all test cases within
BlaTest
This filter matches the test class name.
Running a single test case within
BlaTest
This filter matches the test case name, then indicates to run this filter across file BlaTest.php.
--filter
选项接受正则表达式作为其值(我使用的是 phpunit 3.7)。这允许您指定将通过使用断言排除的测试,如下所示:--filter='/::((?!test(Else|Same))\w+)/'
--filter
option accepts regular expression as its value (I'm using phpunit 3.7). This lets you specify the tests which will be excluded by using assertion like following:--filter='/::((?!test(Else|Same))\w+)/'
如果您更喜欢按代码进行过滤,您可以通过使用 $this->getName() 检查将要运行的测试来标记要在 setUp() 方法 [1] 中跳过的测试。这样这些测试就会显示为被跳过。
示例:
[1] http://www.phpunit.de/manual/current /en/fixtures.html
If you prefer to filter code-wise you could mark the test to be skipped within the setUp()-method [1] by checking which test is about to be run using $this->getName(). That way these tests will show up as being skipped.
An example:
[1] http://www.phpunit.de/manual/current/en/fixtures.html