One group has only zero values, should I use parametric or non-parametric test? I have 3 groups (n=5 per group) from biological data. I have checked the normality of my groups using the Shapiro-Wilk test and two of my groups are normally distributed. However, the 3rd group values are all zero, thus there is no variability in that group. The data I have is discrete and it can never be negative value as I am measuring number of worms in my experiments.
Should I use a parametric test (ANOVA) or a non-parametric test (Kruskal-Wallis) test to compare the 3 groups? 
Other research groups with similar data have done an ANOVA but I am not 100% sure why they consider the group with all zeros to be normally distributed. Here is an example:  https://www.ncbi.nlm.nih.gov/pubmed/29540816 Figure 2a - "sub-group 3" has values all equal to zero and is compared with one-way ANOVA to "sham" group
Here is an example of how my data looks like:
Group A (negative control): 110, 94 , 85, 67, 89
Group B (experimental group tested by other researches too): 0, 0, 0, 0, 0
Group C (experimental group): 24, 56, 67, 34, 26
All my subjects were infected and the groups represent different drug treatments. My measurement is number of worms - so if the treatment works then there will be fewer worms than the negative control or even no worms at all. 
Disclaimer : I am not great with stats but all help is appreciated!
 A: First, let me try to summarize:


*

*You have 3 groups, N = 5 in each

*You have a count of infections for each subject

*In one group, the counts are all 0 and will always be 0. This is not about the sample, but about the population.

*Your main interest is whether one of the groups with non-zero data is different from the group with all 0 data


Given the last question, your answer seems to be an automatic "yes". The question is only whether that difference is "significant".  But, since there is no variation in the other group, you are, essentially, testing whether the counts are significantly different from 0. 
Given your actual data (110, 94 , 85, 67, 89) I would be strongly tempted to avoid any significance testing at all and just say "Look! It's not 0!". If someone objected, you could just say "well, I can gather more observations and since some of the values will be different from 0, if I gather enough data, it will be significant".  (Because the other group is all 0). As so often, significance doesn't seem to be the real issue here. 
However, if you really wanted to do a significance test, I would probably first define exactly what you are looking for (mean? median? something else?) and then do a permutation test. 
A: Edit, based on subsequent edits to question and discussion
Given that you have three groups of measured values, a one-sample test comparing a group to zero doesn't make much sense.  Given that the variance among these groups are probably markedly different, a traditional anova is probably not applicable.  One classic and simple test that may be reasonable is the Kruskal-Wallis followed by a Dunn (1964) post hoc test. Be sure to use an implementation that takes ties into account, and be sure to understand the hypothesis being tested by this test. (Hint: it's not a test of medians.)  There may be other tests that may be applicable depending on what hypothesis you want to test.  Perhaps a permutation anova, or a (multi-sample) Mood's median test.  I might be tempted to present these data as the mean (or another measure of central tendency) for each group with a 95% confidence interval. That may tell the story in a simple and convincing way, without too much bother about the zero-variance in the one group. 
Original reply
As a first comment, assessing normality by a statistical test is generally not very useful to determine if data meet model assumptions. In this case, looking at individual groups of n=5, a test of normality is probably particularly not helpful. The following is a little example in R, whose data I wouldn't necessarily trust to be normally distributed.
Example = c(0.59, 0.68, 0.98, 2.39, 2.88)
hist(Example)
shapiro.test(Example)

   ### Shapiro-Wilk normality test
   ### 
   ### W = 0.83792, p-value = 0.1593

I'm going to make the assumption that your measured variable is continuous or something similar.  I can imagine a case where, say, you are measuring something in some samples where this measurement would necessarily be 0 in control samples.  Maybe you are measuring virus concentration in the blood.  This concentration varies among infected patients, but is necessarily 0 in uninfected people.
In this case, you might be interested in three separate questions / hypotheses.  Is (the mean, median, ranks of) sample A different from 0?  Is sample B different than 0? Is sample A different from sample B?
Depending on the data, the answers to the first two questions may be obvious.  But testing them may be useful for pro forma reasons.
A potential example in R follows.
A = c(0,2,2,3,3,3,4,4,6)
B = c(2,4,4,5,5,5,6,6,8)

boxplot(A, B)

### Test means in three hypotheses

t.test(A, mu=0)
t.test(B, mu=0)
t.test(A,B)

### Test ranks in three hypotheses

wilcox.test(A, mu=0)
wilcox.test(B, mu=0)
wilcox.test(A,B)

### Test medians in three hypotheses

library(DescTools)

SignTest(A, mu = 0)
SignTest(B, mu = 0)

library(coin)

Y     = c(A, B)
Group = factor(c(rep("A", length(A)), rep("B", length(B))))

median_test(Y ~ Group)

