It depends what you mean by test. Null hypothesis significance tests for checking normality or other assumptions are generally a bad idea. What matters is whether the assumption is violated (it usually is to some degree) but the degree to which it is violated. Looking at descriptive statistics (e.g., the variances or SDs of the groups to see if they are similar) or graphical methods (histograms, residual plots etc.) is a good idea.
To elaborate on the point about tests. With low statistical power the test may not be able to detect violations of the assumptions that are large enough to matter. With high statistical power the tests can detect minor problems that won't have a material impact on the performance of ANOVA. Last, but not least, hypothesis tests of assumptions also have assumptions. These are rarely checked and in many cases is is likely that they are less robust than ANOVA itself.
So yes, check assumptions but don't test them (at least using significance tests).
Some potential violations you observe in the data might be addressed by the structure of the model, by including covariates and random effects. So ideally I'd use the residuals to check the assumptions in violations. Plotting the distribution of the residuals and scatterplots of residuals against predictors helps a lot already.
yes, it is very necessary to test the normality of data set prior to any analysis. this guides on what statistics to be used (parametric or non-parametric) or whether or not you push through with your ANOVA.
Since you only say ANOVA, I presume below that you think of a one-factor ANOVA, with k groups of units. You probably want first to test the null hypothesis H0: "The groups come from the same population", or in other words, "the grouping carries no information". If this is the hypothesis to be tested, then the homogeneity of variances is automatic under H0, and need not be tested in advance. Apparent lack of variance homogeneity is then an indication that Ho must be rejected, but the ANOVA test has its power in detecting differences between mean values.
Normality should be checked in some way, per group, but do not be too rigid. Groups are usually too small for detecting lack of normality, and if they are not very small, the situation is saved by the so-called central limit theorem, yielding approximate normality of all averages.
Before the ANOVA test, or after it (at least if it indicates rejection of H0), the whole structure of data should be considered. What is the reason for difference between groups? Perhaps the response variable should be considered on log-scale, for example? This often helps to attain variance homogeneity.