Some simulations following from my Comment:
With a sample of size $n = 10$ from $\mathsf{Norm}(0,1)$ a t test
rejects $H_0: \mu = 0$ vs. $H_a: \mu \ne 0$ at the 5% level
about 5% of the time, as it should. Furthermore, the power for
testing $H_0: \mu = 1$ vs. $H_a: \mu \ne 1$ is about 80%.
set.seed(117)
pv = replicate(10^5, t.test(rnorm(10,0,1))$p.val)
mean(pv <= .05)
[1] 0.05
pv = replicate(10^5, t.test(rnorm(10,0,1), mu=1)$p.val)
mean(pv <= .05)
[1] 0.80169
The uniform distribution $\mathsf{Unif}(-\sqrt{3},\sqrt{3})$ has $\mu=0,\sigma=1).$ Let's look at the performance of t test for similar hypotheses and alternatives from a population with this uniform distribution.
The actual significance level (of a test intended to have significance level 5%) is about 5.5% and power about 80%. Not
quite the same as for normal data, but the t test shows tolerable
robustness even for $n = 10.$
set.seed(118)
pv = replicate(10^5, t.test(runif(10,-sqrt(3),sqrt(3)))$p.val)
mean(pv <= .05)
[1] 0.05517
pv = replicate(10^5, t.test(runif(10,-sqrt(3),sqrt(3)), mu=1)$p.val)
mean(pv <= .05)
[1] 0.80508
A similar simulation for data from $\mathsf{Exp}(1),$ with $\mu = \sigma=1:$
We test $H_0: \mu = 1$ vs. $\ne$ and $H_0: \mu = 2$ vs. $\ne$ for samples
of size $n = 10.$ The true significance level is nearly 10% (too many
false rejections), which makes it difficult to interpret the alleged 'power' of about 76%. Not satisfactory performance.
set.seed(119)
pv = replicate(10^5, t.test(rexp(10), mu=1)$p.val)
mean(pv <= .05) # using P-values as above
[1] 0.09999
set.seed(119)
t.stat = replicate(10^5, t.test(rexp(10), mu=1)$stat)
mean(abs(t.stat) >= qt(.975,9)) # using t statistics
[1] 0.09999
The t statistic under $H_0$ has far from the distribution
$\mathsf{T}(\nu = 9),$ as shown in the histogram below:
hist(t.stat, prob=T, br = 50, col="skyblue2")
curve(dt(x,9), add=T, col="red", lwd=2)
abline(v = qt(c(.025,.975), 9), lty="dotted")

pv = replicate(10^5, t.test(rexp(10), mu=2)$p.val)
mean(pv <= .05)
[1] 0.75679
Exponential data again, but with $n=40.$ The true significance level is
nearer to 5% and the power is quite good. This is not really an accurate
test, but some people might find it 'good enough'.
set.seed(119)
pv = replicate(10^5, t.test(rexp(40), mu=1)$p.val)
mean(pv <= .05)
[1] 0.06712
pv = replicate(10^5, t.test(rexp(40), mu=2)$p.val)
mean(pv <= .05)
[1] 0.99787
However, for an accurate test on centers of exponential (or other markedly skewed) samples of size $n = 40,$
one might want to explore alternative tests. In particular, if data
are known to be exponential then an exact parametric test using gamma distribution is available.