tsdx で作成したプロジェクトで test の内容がキャッシュされる件
tsdx の basic template で作成したプロジェクトで何故か以下のようにテストが落ちた際に、テストの内容がキャッシュされているような現象に遭遇しました。
以下のように test/sample.test.ts のテストが落ちているのに、内容が test/blah.test.ts という古いものになっていました。
$ yarn test
yarn run v1.21.1
$ tsdx test
FAIL test/sample.test.ts
● Test suite failed to run
test/blah.test.ts:1:10 - error TS2305: Module '"../src"' has no exported member 'sum'.
1 import { sum } from '../src';
~~~
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 1.749s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
$
調べたところ tsdx の issue にも報告されていました。
どうやら ts-jest のキャッシュが効いてしまってい様子。たぶん。
ということで、上記の issue に書いてあるとおり、 tsdx test に --no-cache オプションを指定したら、うまくテストが通りました。
これ、みんな嵌りそうだから、デフォルトで --no-cache をつけていい気もするけど。。。キャッシュがなくなるペナルティもありそうだから微妙かな