Я хочу интегрировать результаты моего функционального теста с TestRail. Поскольку тестовая рейка принимает обновление состояния, это означает, что тест пройден успешно или не пройден для интеграции с ним. Но функции PHPunit, такие как assertEqual, assertTrue и т. Д., Не возвращают никаких значений.
Как мы можем это сделать?
public function testGetItem()
{
$this->specify("Verify the functionality of the method ", function ($itemId, $orgId, $expectedResult) {
$result = $this->itemRepository->getItemInfo($ItemId , $orgId);
//$this->assertEquals($expectedResult , $result)
$testRail=new TestRailIntegration();
if($this->assertEquals($expectedResult , $result)){
$testRail->postResultsToTestRail("34530","1");
} else{
$testRail->postResultsToTestRail("34530","");
}
//34530 is testrail id
}
когда тест не пройден, он не переходит в другое условие.
Прямой ответ — поймать исключение, опубликовать результат и исключить повторное отбрасывание.
public function testGetItem()
{
$this->specify("Verify the functionality of the method ", function ($itemId, $orgId, $expectedResult) {
$testRail = new TestRailIntegration();
try {
$result = $this->itemRepository->getItemInfo($ItemId , $orgId);
$this->assertEquals($expectedResult, $result);
$testRail->postResultsToTestRail("34530", "1");
} catch (\Exception $e) {
$testRail->postResultsToTestRail("34530", "");
throw $e;
}
}
Других решений пока нет …