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.
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)
### 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)
### Test means in three hypotheses
### Test ranks in three hypotheses
### Test medians in three hypotheses
SignTest(A, mu = 0)
SignTest(B, mu = 0)
Y = c(A, B)
Group = factor(c(rep("A", length(A)), rep("B", length(B))))
median_test(Y ~ Group)