Open6

Jest

ぴよぴよ

あいまいにテストをまわす

https://qiita.com/pirosikick/items/cb9419a1233e8f316b88

expect.objectContainingは、渡したオブジェクトのキー・バリューの組み合わせが比較対象に含まれているか検証します

自動挿入系のレコード以外が挿入されているか確認したりするときに使う。

expect.objectContaining({
            created_at: expect.any(Date),
            hoge: target_value,
}),

expectに値が入っているとして、こんな感じに確認する。
あとレコード作成時間みたいに、とにかく値が入っていることを確認したいが値自体はどうでもいいというときはexpect.any(Date)みたいなのを使うといいかも。

ぴよぴよ

Promiseを待つと遅い

await Promise.all([
      osoi_function(),
      osoi_function2(),
      osoi_function3(),
    ]);
    return Promise.resolve();

みたいにPromise.allをつかって並列で実行させると早くなる。

ぴよぴよ

Arrayの中身のEqualをみるとき

it('success', async () => {
      const response = await request(app.getHttpServer())
        .post('どっかのパス')
        .send();

      expect(response.status).toBe(201);
      const expected = expect.arrayContaining(想定する配列);
      const actual = response.body;
      expect(actual).toEqual(expected);
    });

こんな感じにする。