How To Group Test Methods - Part 1

9 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€65.59
List Price:  €93.70
You save:  €28.11
£56.11
List Price:  £80.17
You save:  £24.05
CA$96.29
List Price:  CA$137.56
You save:  CA$41.27
A$108.61
List Price:  A$155.17
You save:  A$46.55
S$95.18
List Price:  S$135.98
You save:  S$40.79
HK$548.09
List Price:  HK$783.01
You save:  HK$234.92
CHF 63.62
List Price:  CHF 90.89
You save:  CHF 27.27
NOK kr770.78
List Price:  NOK kr1,101.16
You save:  NOK kr330.38
DKK kr489.42
List Price:  DKK kr699.21
You save:  DKK kr209.78
NZ$118.08
List Price:  NZ$168.70
You save:  NZ$50.61
د.إ257.04
List Price:  د.إ367.21
You save:  د.إ110.17
৳7,659.43
List Price:  ৳10,942.52
You save:  ৳3,283.08
₹5,847.07
List Price:  ₹8,353.31
You save:  ₹2,506.24
RM334.79
List Price:  RM478.30
You save:  RM143.50
₦90,777.03
List Price:  ₦129,687.03
You save:  ₦38,910
₨19,427.14
List Price:  ₨27,754.24
You save:  ₨8,327.10
฿2,573.47
List Price:  ฿3,676.55
You save:  ฿1,103.07
₺2,275.24
List Price:  ₺3,250.48
You save:  ₺975.24
B$366.28
List Price:  B$523.28
You save:  B$157
R1,332.50
List Price:  R1,903.66
You save:  R571.15
Лв128.20
List Price:  Лв183.15
You save:  Лв54.95
₩96,220.81
List Price:  ₩137,464.20
You save:  ₩41,243.38
₪265.25
List Price:  ₪378.95
You save:  ₪113.69
₱4,004.45
List Price:  ₱5,720.89
You save:  ₱1,716.43
¥10,808.04
List Price:  ¥15,440.72
You save:  ¥4,632.68
MX$1,187.23
List Price:  MX$1,696.11
You save:  MX$508.88
QR254.64
List Price:  QR363.78
You save:  QR109.14
P964.57
List Price:  P1,378.02
You save:  P413.44
KSh9,308.67
List Price:  KSh13,298.67
You save:  KSh3,990
E£3,394.91
List Price:  E£4,850.08
You save:  E£1,455.17
ብር3,970.94
List Price:  ብር5,673.01
You save:  ብር1,702.07
Kz58,616.62
List Price:  Kz83,741.62
You save:  Kz25,125
CLP$68,515.31
List Price:  CLP$97,883.21
You save:  CLP$29,367.90
CN¥506.66
List Price:  CN¥723.83
You save:  CN¥217.17
RD$4,125.31
List Price:  RD$5,893.56
You save:  RD$1,768.24
DA9,412.64
List Price:  DA13,447.21
You save:  DA4,034.56
FJ$158.92
List Price:  FJ$227.04
You save:  FJ$68.12
Q542.78
List Price:  Q775.43
You save:  Q232.65
GY$14,611.69
List Price:  GY$20,874.74
You save:  GY$6,263.05
ISK kr9,858.79
List Price:  ISK kr14,084.59
You save:  ISK kr4,225.80
DH708.36
List Price:  DH1,011.98
You save:  DH303.62
L1,252.84
List Price:  L1,789.85
You save:  L537.01
ден4,036.97
List Price:  ден5,767.34
You save:  ден1,730.37
MOP$562.89
List Price:  MOP$804.17
You save:  MOP$241.27
N$1,328.43
List Price:  N$1,897.84
You save:  N$569.40
C$2,568.70
List Price:  C$3,669.73
You save:  C$1,101.03
रु9,342.21
List Price:  रु13,346.58
You save:  रु4,004.37
S/262.58
List Price:  S/375.13
You save:  S/112.55
K265.26
List Price:  K378.96
You save:  K113.70
SAR262.55
List Price:  SAR375.09
You save:  SAR112.53
ZK1,763.89
List Price:  ZK2,519.95
You save:  ZK756.06
L326.30
List Price:  L466.17
You save:  L139.86
Kč1,658.23
List Price:  Kč2,369.01
You save:  Kč710.77
Ft25,839.41
List Price:  Ft36,915.02
You save:  Ft11,075.61
SEK kr762.42
List Price:  SEK kr1,089.22
You save:  SEK kr326.80
ARS$60,837.09
List Price:  ARS$86,913.85
You save:  ARS$26,076.76
Bs483.29
List Price:  Bs690.45
You save:  Bs207.15
COP$273,779.82
List Price:  COP$391,130.80
You save:  COP$117,350.97
₡34,969.07
List Price:  ₡49,957.95
You save:  ₡14,988.88
L1,722.93
List Price:  L2,461.44
You save:  L738.50
₲516,485.32
List Price:  ₲737,867.79
You save:  ₲221,382.47
$U2,722.73
List Price:  $U3,889.78
You save:  $U1,167.05
zł284.09
List Price:  zł405.87
You save:  zł121.77
Already have an account? Log In

Transcript

Hello all welcome back to the next one. In this lecture, we'll take a look at how do we group test cases using test NC. So let me bring up Eclipse and I'll follow through a scenario. I have created a class called test in G underscore grouping dot java. And I have is before class, after class and then few test methods. The test methods are test BMW xx, test, Audi s6, test Ninja, and test Honda CBR.

I may have a scenario where I want to run test cases which are related to each other. Maybe there's a sanity check or maybe there's a particular feature smoke test suite or something like a particular feature regression test suite, where I really want to run all the related test cases and they could be in the same test class file. So how can we achieve those kind of things? Maybe I just want to run all the test cases which are related to BMW. I mean, currently, I only have one. But this is just an example, you may have a lot of test cases related to one thing.

Or maybe just all the test cases related to Audi, or ninja or Honda CBR. This could be one scenario. The other scenario could be like this is an SUV car. So maybe I want to run all the test cases related to SUV car, maybe I want to run all the ones related to the sedan car, and these two are motorbikes. So maybe I want to run all the test cases, which are related to motorbikes, nothing else. So destiny provides us a very powerful way of grouping test cases.

In add a test annotation, we can add attribute for groups, and then those test cases will be logically landing into a group. So let's see how we can do that. How we can make use of it. So we'll put a parenthesis here, and then groups. And here equals, we'll use curly braces. And inside this we can mention groups.

So like BMW xx is a car, I'm logically assigning it to a cart group. I can assign more than one group to a particular test method, there is no limitation. So maybe let's assign one more. I'm going to assign one as a CV since it's an SUV car. This is to classify what we are doing right? It just depends on what our test cases are, you might have a completely different feature.

So you are the best person who understands your application and you will have to figure out how you grew up your test cases. So like, this guy, already, it's again, this guy is also a car, but it's not SUV. It's a sedan so we can just say it belongs to a certain group. Right? Now we have test ninja. This is only a motorbike.

So let's say we create a bikes group. And we don't want to have a second group to this, we can only have one group also right. So let's have only one group. And the same thing applies to Honda CBR. So I'm going to add one thing over there as well. So now I have defined, what I've done is I have copied the whole thing.

So let me just copy this part only. Now it's all good. So now we have defined the groups we have categorized our test cases, and it all looks good. The important part here is to see how we use that. Let me just right click and run it and the test engine test case and it runs everything. So what is The use of defining groups, the key factor is to use our test ng g dot XML file.

What I'm gonna do here is I'm gonna open this guy and maybe make a copy of this and rename it to something like just mg dash groups dot XML. And now we have this file. So we will use this file, the key factor is to use XML file. Now let's see how we can modify this. I'm going to rename this maybe instead I will say groups demo. So just to make it relevant to our lecture, and inside the test, we will have to define groups.

Under groups, we will add a tag called run And inside the run tag we will include we need to add a tag called include. And the name we give to this include tag should be matching name to one of the groups. So let's say if I include maybe bikes only here. And that's it. If I include only bikes, and now I have a group and I run this XML file, it should only run the bikes group test cases. First of all, I need to fix errors and it affects the name of the test class that I'm running.

So this test classes also under test classes package which is good, but the name is different. So the name is test Angie underscore grouping. So I should have dated and Please make sure these things are correct, guys. Otherwise, you may just run this file and you may not see anything, right. So it's important to fix everything in these files. That's why I create a new one.

So I have a different one and a cleaner picture here. So everything is all gone and said there, let me just right click it and run as a test in G Suite. And here we go. So it runs the group's demo, test classes dot test and G underscore grouping and test Honda CBR. Test ninja only two methods are run right? and nothing else.

And it says something here, it is strongly recommended to add this line at the top of your file. Otherwise test engine may fail or may not work as expected. So actually, this is a good thing. I wanted to remind this as well. So let me just copy it for from here. And what it's saying is just put this file at the top of your destiny.

Document. That's about it. And it's really important. Yeah. So it's good that it showed us the warning. And it's good that I had a fortunately to show it to you right away.

And now if we run this, we should not see that warning. Also, it's actually just a warning, because you can see my test cases were running, so there was no issue. So it was just a warning that there may be an issue. So it's still it's good to add. So let's run the suite. And now we don't even see the warning also.

It's all good. It ran two test cases and all fine. One thing here we noticed is it's very important to pay attention to this thing. We ran this and in the output bc only two test cases ran. It's fine. We then want to run the other test cases, but what about the before class and after class?

We still want to run before class before method and these ones right? Why they did not because they did not belong to any group. So what we can do Because we don't want to include them in any group, these are some things that should always done. So what we can do to overcome this thing here is we can in the parenthesis we can add one more attribute called always run equals to true. Once we add this attribute to both the before class and after class, and now we use our test Angie groups, right click run as test in G Suite, we should see them running. So now you can see before class, first test method, second test method and after class, right.

So this is fairly important, we were able to run only test cases which belong to a group. And we were able to figure out that there is a key word or attribute called always run, which can forcefully run any method. So that's about it. Please practice it and let me know if you have any questions. Thanks for attending this one. I'll see you in the next lecture.

Thanks

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.