Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vitestのブラウザモードを使えるようにし、StorybookのVitest統合を使う #2289

Merged
merged 39 commits into from
Oct 13, 2024
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
af60b54
Migrate: storybookのmigrationを実行
sevenc-nanashi Oct 9, 2024
c860316
Add: browserモードで動かすように
sevenc-nanashi Oct 9, 2024
4b7f5b8
Delete: vitest-exampleを削除
sevenc-nanashi Oct 9, 2024
91ab76f
Add: vitestにstorybookを統合
sevenc-nanashi Oct 9, 2024
088b707
Delete: test:storybook周りを削除
sevenc-nanashi Oct 9, 2024
6cf57aa
Add: ui modeのscriptを追加
sevenc-nanashi Oct 9, 2024
a01518c
Change: headlessにする
sevenc-nanashi Oct 9, 2024
e3912a0
Add: コメントを追加
sevenc-nanashi Oct 9, 2024
dc7d24c
Fix: postinstall周りを修正
sevenc-nanashi Oct 9, 2024
72c5cf3
Fix: vite.config.mtsの型エラーを修正
sevenc-nanashi Oct 9, 2024
83beea7
Fix: Chromiumを指定
sevenc-nanashi Oct 9, 2024
06ce4fa
Fix: スタイルを修正
sevenc-nanashi Oct 9, 2024
5648fe4
Change: ubuntuでテストする
sevenc-nanashi Oct 9, 2024
6655515
Add: ハックを追加
sevenc-nanashi Oct 9, 2024
db69e76
Update: playwright/testを更新
sevenc-nanashi Oct 9, 2024
b529a7c
Update: READMEを更新
sevenc-nanashi Oct 9, 2024
4818061
Change: test-watch:unit:ui -> test-ui:unit
sevenc-nanashi Oct 9, 2024
b85a959
Change: headlessで動かすように
sevenc-nanashi Oct 9, 2024
a909f32
Change: バージョンを固定
sevenc-nanashi Oct 10, 2024
de96dca
Update: READMEを更新
sevenc-nanashi Oct 10, 2024
62a5c08
Refactor: workspace周りを整理
sevenc-nanashi Oct 10, 2024
b422aa2
Add: NOTEを追加
sevenc-nanashi Oct 10, 2024
9e334eb
Fix: 日本語を修正
sevenc-nanashi Oct 10, 2024
f2bf5d6
Change: fnをStoryのargsに動かす
sevenc-nanashi Oct 10, 2024
0590c61
Add: エラーメッセージを追加
sevenc-nanashi Oct 10, 2024
2288aa5
Delete: 不要そうなパッケージを削除
sevenc-nanashi Oct 10, 2024
324329f
Change: もっといい解決方法を使う
sevenc-nanashi Oct 10, 2024
58693f3
Code: README周りの書き方を変える
sevenc-nanashi Oct 10, 2024
d31a9d8
Code: vitest.workspace.mtsを読みやすくする
sevenc-nanashi Oct 10, 2024
d1cce48
Delete: QuasarのVite Pluginを削除
sevenc-nanashi Oct 11, 2024
7617ba5
Delete: Quasarに依存してた場所を削除
sevenc-nanashi Oct 11, 2024
ecd2be9
Merge: upstream/main -> update/storybook
sevenc-nanashi Oct 12, 2024
6b2b9ae
Merge: main -> update/storybook
sevenc-nanashi Oct 12, 2024
2431c57
Fix: テストが落ちてるのを修正
sevenc-nanashi Oct 12, 2024
b590a18
Fix: package-lock.jsonを再構築
sevenc-nanashi Oct 13, 2024
1b4f100
Delete: test-runnerを削除
sevenc-nanashi Oct 13, 2024
b5ef4d9
Revert: やっぱりQuasarのVite Pluginを足す
sevenc-nanashi Oct 13, 2024
430ddca
Fix: $qが欠けてるのを直す
sevenc-nanashi Oct 13, 2024
caff09f
差分を減らす・依存ライブラリを減らす
Hiroshiba Oct 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 2 additions & 29 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,33 +56,9 @@ jobs:
- name: Setup environment
uses: ./.github/actions/setup-environment

- run: npm run test:unit

- name: Setup playwright
run: npx playwright install
- name: Run Storybook tests
- name: Run test
run: |
# .env
cp .env.test .env

# ランダムなポートを使う
PORT=$(node -r net -e "server=net.createServer();server.listen(0,()=>{console.log(server.address().port);server.close()})")
npx storybook dev --ci --port $PORT &

# 起動を待つ
elapsed=0
until curl --output /dev/null --silent --head --fail http://localhost:$PORT; do
echo "Waiting for Storybook to start on port $PORT..."
sleep 5
((elapsed+=5))
if [ "$elapsed" -ge "60" ]; then
echo "Timed out waiting for Storybook to start."
exit 1
fi
done

# テスト
npm run test:storybook -- --url "http://127.0.0.1:$PORT"
npm run test:unit

# e2e テスト
e2e-test:
Expand Down Expand Up @@ -125,9 +101,6 @@ jobs:

- name: Setup
run: |
# playwright
npx playwright install

# run.exe
chmod +x ${{ steps.download-engine.outputs.run_path }}

Expand Down
5 changes: 4 additions & 1 deletion .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
import type { StorybookConfig } from "@storybook/vue3-vite";

const config: StorybookConfig = {
stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
stories: ["../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],

addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@chromatic-com/storybook",
"@storybook/addon-interactions",
"@storybook/addon-themes",
"@storybook/experimental-addon-test",
],

framework: {
name: "@storybook/vue3-vite",
options: {
Expand Down
7 changes: 7 additions & 0 deletions .storybook/vitest.setup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { beforeAll } from "vitest";
import { setProjectAnnotations } from "@storybook/vue3";
import * as previewAnnotations from "./preview";

const annotations = setProjectAnnotations([previewAnnotations]);

beforeAll(annotations.beforeAll);
19 changes: 12 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,27 +114,32 @@ fork したリポジトリで Actions を ON にし、workflow_dispatch で`buil

### 単体テスト

`./tests/unit/` 以下にあるテストと、Storybookのテストを実行します。

> [!NOTE]
> `./tests/unit` 下のテストは、ファイル名によってテストを実行する環境が変化します。
>
> - `.node.spec.ts`:Node.js 環境
> - `.browser.spec.ts`:ブラウザ環境(実機)
sevenc-nanashi marked this conversation as resolved.
Show resolved Hide resolved
> - `.spec.ts`:ブラウザ環境(happy-domによるエミュレート)

```bash
npm run test:unit
npm run test-watch:unit # 監視モード
npm run test:unit -- --update # スナップショットの更新
```

### コンポーネントのテスト

Storybook を使ってコンポーネントのテストを行います。
また、以下のコマンドでテストのダッシュボードを表示できます:

```bash
npm run storybook # 先に Storybook を起動
npm run test:storybook
npm run test-watch:storybook # 監視モード
npm run test-ui:unit
```
sevenc-nanashi marked this conversation as resolved.
Show resolved Hide resolved

### ブラウザ End to End テスト

Electron の機能が不要な、UI や音声合成などの End to End テストを実行します。

> **Note**
> [!NOTE]
> 一部のエンジンの設定を書き換えるテストは、CI(Github Actions)上でのみ実行されるようになっています。

```bash
Expand Down
Loading
Loading