Open6
[WIP] vitestのソースコードを読む
こちら
最終的には、この記事のようなことがしたいので、その準備段階をスクラップ化する
vitestとしてexportされているもの一覧
describe, testなど@vitest/runnerの中身
:https://github.com/vitest-dev/vitest/blob/main/packages/runner/src/suite.ts
エイリアス定義がおこなわれているので、まずはsuiteとtestの実装に注目
L18-20
// alias
export const describe = suite
export const it = test
- suiteはcreateSuite関数を呼び出す
- createSuite関数はcreateChainable関数を返す
export const suite = createSuite()
...
function createSuite() {
return createChainable(
['concurrent', 'sequential', 'shuffle', 'skip', 'only', 'todo'],
suiteFn,
) as unknown as SuiteAPI
}
- createChaninable関数は与えたkeyをメソッドチェーンのように呼び出せるようにする関数みたい
つまり、CreateSuite()で↑の['concurrent', 'sequential', 'shuffle', 'skip', 'only', 'todo']をメソッドチェーンで呼び出せるようにしている。
戻り値のvalueの方がtrueなのはまだよくわからない