Closed9

GWの開発をつらつらと

OKUDA HarukiOKUDA Haruki

雑メモ。
詰まったところとか、面白そうだと思ったところ、単純に感想など。
TypeScript + Next.js + Jest + Tailwind CSSでシンプルなアプリ作ってみる。

OKUDA HarukiOKUDA Haruki

Tailwind CSSの導入

npx tailwindcss init -p

これでtailwind.config.jspostcss.config.jsが生成される。
その後、tailwind.config.jspurgeに対象となるディレクトリなどを指定する。
(v3.0〜はpurgeの代わりにcontent属性を使う)
ほか、globals.css@tailwindを読み込む。

@tailwind base;
@tailwind components;
@tailwind utilities;
OKUDA HarukiOKUDA Haruki

ReactのプロジェクトでJestでテストする時はReact-testing-libraryを使うらしい。
ちなみにVueではVue-testing-library。
そのフレームワークの仕様にそったテストができるライブラリ。

OKUDA HarukiOKUDA Haruki

package.jsonにテストを無視するパターンを登録できる

"testPathIgnorePatterns": [
  "<rootDir>/.next/",
  "<rootDir>/node_modules/"
],
OKUDA HarukiOKUDA Haruki
it('テストタイトル', () => {
  render(<Home />) // コンポーネントをrenderすることで、HTMLの構造を取得する
  expect(screen.getByText('LIFE 100')).toBeInTheDocument() // 期待される結果を書く
})
OKUDA HarukiOKUDA Haruki
TypeError: Jest: a transform must export a `process` function.

jestとts-jestのバージョンは合わせておかないと、上記のようなエラーが出る。

OKUDA HarukiOKUDA Haruki
screen.debug();

テストの中でデバッグすることができ、renderされた内容を確認できる。

OKUDA HarukiOKUDA Haruki
npm i next-page-tester

Next.jsのLinkコンポーネントをテストする場合は、別途moduleをinstallする必要あり。

このスクラップは2022/05/11にクローズされました