Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility error regarding the 'Status' type between the 'model' and 'entity' libraries with Allure TestNG versions above 2.27.0 #1131

Open
1 task done
elektroyazilim opened this issue Sep 6, 2024 · 0 comments
Labels
triage type:bug Something isn't working

Comments

@elektroyazilim
Copy link

elektroyazilim commented Sep 6, 2024

Describe the Bug

What happened?

if (result.getStatus() == Status.FAILED {}

The "return type" of the getStatus() method is a Status type from the io.qameta.allure.model library, and the Status enum in the expression Status.FAILED is also from the io.qameta.allure.model library. This is valid in "Allure TestNG 2.27.0" version and below. - This version and below are working -

However, in version 2.28.0 and above, there is an incompatibility between the return type of getStatus() and the Status enum type. result.getStatus() comes from the model library, while the Status enum comes from the entity library. Therefore, I cannot apply equality between these different types.

The relevant bug is as follows:

Operator '==' cannot be applied to 'io.qameta.allure.model.Status', 'io.qameta.allure.entity.Status'.

Steps to Reproduce

Test Case: Implement Allure Listener with beforeTestStop() Method Override

Steps:

1. Create the "AllureListener" Class:
Define a new class named AllureListener.

2. Override the beforeTestStop() Method:
Inside the AllureListener class, override the method beforeTestStop().
@Override public void beforeTestStop(TestResult result) { // Method implementation here }

3. Add Conditional Logic for Test Status:

Implement the following condition within the overridden beforeTestStop() method:

if (result.getStatus() == Status.FAILED || result.getStatus() == Status.SKIPPED || result.getStatus() == Status.BROKEN) { // Add logic for handling these statuses }

Expected Behaviour

"The return type of the result.getStatus() method should be of the same type as the 'Status' enum."

Screenshots or Additional Context

364108321-668a55d5-6daa-43e2-a177-678a7877a9d6

What Language are you using?

Java

What Framework/Allure Integration you are using?

allure-testng

What version of Allure Integration you are using?

2.28.0

What version of Allure Report you are using?

2.28.0

Code of Conduct

  • I agree to follow this project's Code of Conduct
@elektroyazilim elektroyazilim added triage type:bug Something isn't working labels Sep 6, 2024
@baev baev transferred this issue from allure-framework/allure2 Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage type:bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant