TestNG Tutorials 36: Can a Test Method Return a Value in TestNG?
This is also an interview question. These questions are asked to know how much you can think on a scenario.
Question was, “Can a test method return a value? If yes, how can you use it?”.
Yes, a @Test annotated method can return a value but that method will not be considered as a test method for TestNG anymore i.e. TestNG will ignore that method. Let’s see an example:
Ofcourse, you can call @Test method inside another @Test method as below and can use returned value. But here @Test annotated method will be same as normal method as TestNG will not consider that and run by default.
Since TestNG follows best practices for unit testing, which means a unit test method should not have a return value. This is the reason a @Test annotated method which is returning a value is ignored by TestNG default run behaviour.
But you can force TestNG to include test methods which are returning values to be included in normal run. You need to set allow-return-values as true at suite level. Update your testng xml as below:
Now run it and see output:
You can see TestNG included @Test method which is returning values. Not here that returned value is ignored here.
Where we can use this concept?
TestNG is a testing framework which can be used by both developers and testers. This concept can be used when you need to inherit an interface or abstract class and test its methods without changing method signatures.
More about TestNG in upcoming posts. Stay tuned.
If you have any doubt, feel free to comment below.
If you like my posts, please like, comment, share and subscribe.
Author: Amod Mahajan
A software Tester who is paid to judge products developed by others. Writing technical posts and creating YouTube videos are my hobbies.
10 thoughts on “TestNG Tutorials 36: Can a Test Method Return a Value in TestNG?”
Thanks for your information, very helpful
Hey Thanks for detailed explanation. Just now I had an interview this question asked to me. I said Yes, but I dont know this much of logic is there inside. Now got it, from next interview onwards, I will be more confident if I asked this. Thanks a lot.
That’s great. Thanks.
What is the best practice ? Using methods with return type or with return type as void to run by default ?
Nice article..hidden one…never seen anywhere about the concept from your post. Thanks for giving such a wonderful tutorial.
Useful Post. Thanks
Useful stuffs to keep learning!