-
Notifications
You must be signed in to change notification settings - Fork 45
Closed
Description
Hey guys, we've problem using allure in our project.(codeception 3.0.2 + behat/gherkin 4.4.0 + allure 1.4.0 )
Summary: when we run .features in codeception , allure generates xml file using name feature instead name scenario. And when in one feature there are few scenario, than allure generate just last scenario.
For example
Feature: FooterLinksTest
I want to check all links in footer
Background:
When I log in to the site, i click button
@footerLinksTest
Scenario: footerLinksTest
Then check links in Footer
@HeaderLinksTest
Scenario: HeadeLinksTest
Then check links in Header
after run .feature FooterLinksTest
we get a result allure xml
<?xml version="1.0" encoding="UTF-8"?>
<alr:test-suite xmlns:alr="urn:model.allure.qatools.yandex.ru" start="1621868275968" stop="1621868340898" version="1.4.0">
<name>acceptance (chromeheadless)</name>
<test-cases>
<test-case start="1621868280976" stop="1621868340846" status="passed">
<name>HeadeLinksTest</name>
<steps>
<step start="1621868281331" stop="1621868281331" status="passed">
<name> i want to check all links in Header </name>
</step>
</steps>
<labels>
<label name="footerLinksTest" value="feature"/>
</labels>
</test-case>
</test-cases>
</alr:test-suite>
and first scenario was lost
SOLUTION
if you change this
$testName = $test->getMetadata()->getFeature();
to this
$testName = $test->getScenarioNode()->getTitle();
private function buildTestName($test) {
$testName = get_class($test->getTestClass()) . '::' . $test->getName();
if ($test instanceof Cest) {
if(isset($this->testInvocations[$testName])) {
$this->testInvocations[$testName]++;
} else {
$this->testInvocations[$testName] = 0;
}
$currentExample = $test->getMetadata()->getCurrent();
if ($currentExample && isset($currentExample['example']) ) {
$testName .= ' with data set #' . $this->testInvocations[$testName];
}
} else if($test instanceof Gherkin) {
$testName = $test->getScenarioNode()->getTitle();
}
return $testName;
}
after changed allure generates every scenario
What do you think about it? or did you miss something ?
zyab1ik and luckyraul
Metadata
Metadata
Assignees
Labels
No labels