Motomichi Works Blog

モトミチワークスブログです。その日学習したことについて書いている日記みたいなものです。

2024-01-01から1年間の記事一覧

PlaywrightのMock APIsでGETやPOSTなどのメソッド毎にレスポンスを分ける

参照したページ Route | Playwright サンプルコード 以下のように route.request().method() を呼び出すとメソッドが取得できます。 // Handle GET requests. await page.route('**/*', async route => { if (route.request().method() !== 'GET') { await r…

Playwrightで$や*が含まれるspecファイルのテストをする

はじめに 以下のような $ が含まれるpathのテストを実行しようとしたらエラーになりました。 tests/example.$id.spec.ts 表示されたエラー 以下のエラーメッセージが表示されました。 Error: No tests found. Make sure that arguments are regular expressi…

環境変数を設定してnpm runする

コマンド 例えば以下のように実行します。 npm HOGE=hoge npm run jest yarn HOGE=hoge yarn jest 環境変数を参照する 環境変数はコード内で以下のように参照できます。 console.log(process.env.HOGE);

PlaywrightのVRTの画像サイズを設定する / 画像heightをfullPageにする

参照したページ 公式ページ Test use options | Playwright その他 typescript - How to achieve browser resizing in run time using playwright? in a e2e test run - Stack Overflow playwright.config.tsにデフォルト値を設定する 以下のように use.view…

ブラウザ操作からPlaywrightのテストケースをジェネレートする | Test generator

参照したページ Test generator | Playwright 基本的な操作手順 概要 以下のような手順でブラウザ操作からテストケースを生成する方法について紹介していきます。 example.spec.tsを作成しておく。 npx playwright codegen [テスト対象URL] でテスト対象のペ…

Playwrightのテストケースでログインユーザーごとのコンテキストを使い分ける | Isolation

参照したページ Isolation | Playwright

Parsing error: ESLint was configured to run on `<tsconfigRootDir>/next.config.mjs` using `parserOptions.project` を解決する

環境 Next.js 14の開発環境で、eslintのプラグインとして @typescript-eslint/eslint-plugin を使用しています。 エラーが起こっているファイル 今回の例ではnext.config.mjsですが、他のファイルでも起こり得ます。 表示されたエラーメッセージ 以下のエラ…

Next.js14の開発環境構築手順 step04 lint-stagedとhuskyを設定する

lint-stagedとhuskyをインストールする 以下のコマンドを実行します。 npm install --save-dev lint-staged husky huskyをセットアップする 「Get started | Husky」に倣って、以下の通り実行しました。 npx husky init このとき、package.jsonのscriptsに以…

huskyでnodenv: npm: command not foundになる問題を解決する

環境 OS: macOS Ventura 13.6.4 husky: 9.1.6 node: 20.15.0 ( nodenvを使用してインストール ) 起こっている問題 huskyをインストールして設定してみたところ、pre-commit hookで以下のエラーが表示されました。 nodenv: npm: command not found The `npm' …

Cannot use import statement outside a moduleエラーを解消する

はじめに ViteでSPAのアプリケーションを運用していて、SplitVendorChunkPluginでjsファイルを分割したら表題のエラーが出るようになりました。 解決方法 今回の私のケースでは、以下のようになっている箇所に <script src="/assets/index.js"></script> type="module" を付与して、以下のようにしま…

basepathを設定する | TanStack Router その0001

basepathの設定方法 以下のようにcreateRouter関数の引数にbasepathプロパティを設定します。 const router = createRouter({ routeTree, basepath: '/hoge/' });

jestを実行したときの error TS6142: Module './path/to/your/module' was resolved to 'example.tsx', but '--jsx' is not set. を解決する

参照したページ Configuring Jest · Jest 「Cannot use JSX unless the '--jsx' flag is provided」エラー解決法 #React - Qiita unit testing - (WARN) Define `ts-jest` config under `globals` is deprecated - Stack Overflow reactjs - Why isn't ts-je…

Next.js14の開発環境構築手順 step03 CSS Modules + Sassとstylelintを設定する

はじめに Next.js14の開発環境構築手順 step03 をやっていこうと思います。 以前 Next.js 13 でやったものを再検討しながらメモしていきます。 参考: Next.js13の開発環境構築手順 step03 css-in-jsとstylelintを設定する - Motomichi Works Blog Zero-runti…

Gitのコミットにタグを付ける

参照したページ Git - タグ 【Git/GitHub入門】git tagの仕様・使い方 - カゴヤのサーバー研究室 リポジトリのタグとリリースの管理について git tagでつけられるタグの種類 Git - タグ によると、以下の2種類があります。 軽量タグ(lightweight) 注釈付きタ…

Warning: React version not specified in eslint-plugin-react settings. を解消する

表示された警告文 Warning: React version not specified in eslint-plugin-react settings. See https://github.com/jsx-eslint/eslint-plugin-react#configuration 修正する 警告文にあるとおり https://github.com/jsx-eslint/eslint-plugin-react#config…

PlaywrightのVRTでtableセルのborderがずれる

解決方法 以下の記事に書きました。 SafariでWebページを閲覧したときにtableセルのborderがずれる - Motomichi Works Blog 私がもともとPlaywrightのVRTでこの問題に遭遇して困っていたので、同じように困っている人がいるかもしれないと思って記事タイトル…

SafariでWebページを閲覧したときにtableセルのborderがずれる

はじめに ディスプレイが違うだけでも起こらないので、環境によっては起こらないかもしれません。 PlaywrightのVRTでMobile Safariのテストを実施する場合にも起こりました。 問題の起こるコード 例えば sample.html を以下のように記述します。 <html> <head> <meta charset="utf-8"> <style> table {</meta></head></html>…

Playwrightで画像の表示を待ってからスナップショットを取得する

参照したページ [Question] Wait for image to be loaded · Issue #6046 · microsoft/playwright · GitHub コード for (const img of await page.getByRole('img').all()) { await expect(img).toHaveJSProperty('complete', true); await expect(img).not.t…

jest実行時のエラー SyntaxError: Cannot use import statement outside a module を解決する

参照したページ reactjs - How to resolve "Cannot use import statement outside a module" from Jest when running tests? - Stack Overflow 表示されたエラー FAIL src/lib/hoge/hoge.spec.ts ● Test suite failed to run Jest encountered an unexpected…

Next.js14の開発環境構築手順 step02 eslintとprettierを設定する

はじめに Next.js14の開発環境構築手順 step02 をやっていこうと思います。 以前 Next.js 13 でやったものを再検討しながらメモしていきます。 参考: Next.js13の開発環境構築手順 step01 yarn create next-app --typescript - Motomichi Works Blog Next.js…

Next.js14の開発環境構築手順 step01 create-next-app

はじめに 2024年7月時点での自分のためのメモとして、Next.jsの環境構築手順をまとめてみます。 かなり長くなるのでいくつかのstepに分けて書いていきます。 以前 Next.js 13 でやった内容を再検討しながらメモしていきます。 参考: Next.js13の開発環境構築…

Playwrightを使ってVRTを始める

参照したページ 公式ページ Installation | Playwright Visual comparisons | Playwright その他 入門者でも安心、Playwrightで驚くほど簡単にブラウザテストを行う | アールエフェクト Playwright で一番小さく始める VRT と、次のステップの選択肢 - Speak…

Uncaught ReferenceError: __VUE_PROD_DEVTOOLS__ is not defined を解決する

参照したページ コンパイル時フラグ | Vue.js vue.js - ReferenceError: __VUE_PROD_DEVTOOLS__ is not defined - Stack Overflow 環境 私の環境で今回の件に関係ありそうなパッケージのバージョンは以下の通りです。 webpack: 4.46.0 vue: 3.4.21 vue-route…

Railsのsystem spec (Capybara)でJavaScriptのconsole.logを出力する方法

参照したページ Capybara+ChromeでJavaScriptのエラーを出力 #Rails - Qiita gem のバージョン gem 'selenium-webdriver', '~> 4.11.0' gem 'capybara', '>= 2.15' 出力する方法 以下のように書くと出力されました。 puts page.driver.browser.logs.get(:bro…

Vue2からVue3への移行作業で出た Failed to resolve component: router-view If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. を解決する

解決方法 以下のようになっている router プロパティを import { createApp } from 'vue'; import router from './router.js'; import App from './app.vue'; const app = createApp({ router, components: { App, }, }); app.mount('#app_regular_users_cre…

Vue2からVue3への移行作業で出た Error: Provide the "history" option when calling "createRouter()" を解決する

参照したページ [Solved] Uncaught Error: Provide the “history“ option when calling “createRouter()“ | ProgrammerAH javascript - Failed to resolve component <router-view> VueRouter - Stack Overflow 概要 vue-router を使っているアプリケーションを移行する際</router-view>…

端末を買い替えたときなどにさくらVPSのサーバーに新しい端末の公開鍵を追加する

参照したページ SSH公開鍵認証メモ #Linux - Qiita はじめに Macの端末を買い替えたりして、新しい端末の公開鍵を追加したときのメモです。 ログインする方法の選択 以下のいずれかの方法でログインできます。 ssh ログインできる端末のターミナルでログイン…

Jestを実行したときに Object.values の記述箇所で TypeError: Cannot convert undefined or null to object at Function.values (<anonymous>) になったので修正する

解決したいこと HOGE は定数で import しているのに、以下のような感じでテストが失敗しました。 このテストが失敗しているファイルを example.tsx とします。 ● Test suite failed to run TypeError: Cannot convert undefined or null to object at Functi…

Jestを実行したときに Error [ERR_REQUIRE_ESM]: require() of ES Module になったので解決する

参照したページ Jest の実行環境のサンプル Jestでテストを書こう | TypeScript入門『サバイバルTypeScript』 はじめましょう · Jest yarn upgrade について yarn upgradeのあれこれ #CLI - Qiita Error [ERR_REQUIRE_ESM]: require() of ES Module の解消に…

JavaScriptの浮動小数の丸め誤差について調べたことの備忘録

参照したページ IEEE 754 - Wikipedia JavaScriptにおける丸め誤差と対応 JavaScriptの浮動小数点数型の誤差をなくす | 株式会社CONFRAGE ITソリューション事業部 「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい #Python - Qiita "「0.1+0.2≠0.3」だ…