如何为代码测试测试用例提供唯一ID?

时间:2015-12-29 17:16:44

标签: php automated-tests codeception

我有自动化的测试用例,并且他们有唯一的ID。

//Plain English testcase
ID: 1234
1. Go to url: "example.com"
2. Click on button named: "Don't click me"
3. See if the button got angry 

在哪里可以将上述测试用例的ID包含在该测试用例的自动版本中(位于下方)?

//Automated version of the above testcase
$I = new AcceptanceTester($scenario);
$I->amOnUrl("example.com");
$I->see("Don't click me");
$I->click("#angry_button");
$I->see('......') // some result

请记住,只要生成前者,该ID必须存在于xml报告中:

codecept run acceptance --xml

2 个答案:

答案 0 :(得分:0)

您可以使用

$I->wantTo("Test ID: 1234");

但是,如果您指的是每个测试用例执行的唯一ID,您可以使用日期作为解决方法。

例如:

$time = date("m-j-Y-G:i:s");
$I->wantTo("Test ID ".$time);

答案 1 :(得分:0)

开始在代码中使用Cest测试用例。这将使你的生活变得更容易。相信我,我也是从Cept开始的。

因此,当您使用Cest时,您可以执行以下操作:

使用您的函数名称作为唯一ID。 在我的测试中,我有:

public function testPageElementsAvailability(AcceptanceTester $I)
{ 
  test some thing
}

这会产生以下xml

<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
  <testsuite name="acceptance" tests="1" assertions="1" failures="0" errors="0" time="3.954338">
    <testcase file="..../createCest.php" name="testPageElementsAvailability" class="post\createCest" feature="test page elements availability" assertions="1" time="3.954338"/>
 </testsuite>
</testsuites>