https://vitest.dev/guide/in-source.html

ソース内にテストを書くことができる。

in-source testing と.test.jsを共存させるとin-sourceが動かない

hello.tshello.test.ts があるときに、hello.ts 内に書いたテストコードが実行されない。

if (import.meta.vitest) {
    // テストコード
}

このとき import.meta.vitest がundefinedとなっていてブロック内に入っていなかった。 issue等が見つけられなかったので本当にそういう動きなのかわからないのだが、 hello.test.ts を消すと動作するようになったので、どちらかに寄せるしかなさそう。