## 概要 [[Bruno]]の`Tests`タブでテストコードを書くとき、補完は出るが[[JavaScript]]なので型安全ではない。[[TypeScript]]の力を使ってテストコードをいじるようのPlaygroundを作成した。 ## Playground ```ts import { expect, assert } from "chai"; import moment from "moment"; // bunのtest関数を使ってもよいが、await漏れを防げないため自作したほうが安全 declare let test: <T, U>( description: string, handler: () => T ) => T extends Promise<void> ? Promise<void> : void; // bruの定義で必要なものを適宜追加する declare let bru: { getEnvVar(key: string): string | undefined; }; declare let res: { status: number; body: any }; // requireは書かない async function main() { // main関数の中身をBrunoのコードエディタに貼り付ける await test("test", async () => { // TODO: test }); } ``` [[Chai]]と[[Moment.js]]の型定義インストールが必要。 ```console bun add -D @types/chai @types/moment ```