-
Notifications
You must be signed in to change notification settings - Fork 312
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
テストを整備する #182
Comments
どちらかというとあってほしいのはE2Eテストなのかなと思い始めました。 エンジンはモックではなく本番に近い物を使ってしまって、起動したらテキスト欄が表示されているとか、テキスト入力した後音声合成できるとか、そういうテストが開発のコスパがいいのかなと感じました。 |
e2eテスト作れそうなので少し調べてみます |
コメントありがとうございます!!!とても心強いです!!!! |
@Hiroshiba お返事ありがとうございます。ちょっと試してみたので早速相談させてください。 前提Electronのドキュメントによるとテストフレームワークは2系統。PlaywrightかWebDriver interface.(カスタムテストドライバは私の手には余ります) 比べてみると、Playwrightはエントリポイントから起動でソースマップが使えるなどデバッグ効率が高そう。WebDriver系はバイナリから起動なのでユーザ環境に近いがデバッグ効率が低そう(CIは絶望的に思えます)。 一番聞きたいこといろいろ他にも比べられるのですが、一番大事なのは「どの状態での挙動の保証を優先」だと思うので、ご意見伺いたいです。 Playwrightでいくならfork先ではPlaywrightを試していて、テストランナーからElectronApplication のインスタンスを作るところまで確認できました。so-c#3 課題は山盛りですし、捨てて WebDriver系試すのもOKです(その場合 wdio がよさそう)。ただ、私の環境がAMD GPUなので、PR前に肝心のCUDA版バイナリを動かせない問題はありますが…… |
コメントありがとうございます!
e2eテストについての解像度が高くなく、ちゃんと言葉にできるか怪しいのですが、「ユーザー操作に対してアプリの挙動が想定どおりである」ことを保証したいと考えています。 例えば、+ボタンを押したらテキスト欄が増えるとか、テキストを足したりいろいろ操作したりしたあとの状態が想定と同じかとか・・・。 もし何か頓珍漢なことを言っていたらすみません! |
実環境に近づけるの大変ですしね……。 お返事、ありがとうございます! それではPlaywrightの課題もう少し調べてみます。問題切り分けられたらまた相談させてください! |
Close #4 so-c/voicevox@e1835ab で初期表示を確認するテストが動きました。 結局テストコードで 使っていないCypressの除去とテスト実行方法のドキュメンテーションができれば、そのコマンド打てば他の人も使ってもらえる状態になるのでそこまで進めたらPRしたいと思いますがいかがでしょう? GitHub Actionsにもとかテストの追加などは別Issueでやってもよいかなと思い始めていて |
たしかに環境違いのテストがしやすくなって良いかもですね!
ぜひお願いします!! NODE_ENVにproductionがどうしても来ちゃうのは躓きポイントなので、そちらのPRがマージされたタイミングでissue作るのも良さそうだなと思いました! |
テストだけalpahが使えれば副作用の心配がなくなるので嬉しいですよね……。 テストがのんびりしているうちに、3.x正式リリース、別の理由で本ビルドにそれを採用 |
ビルドが通るかはPRマージ後にチェックビルドしてみて、ダメそうならrevertを検討するくらいの感じでも良いのかなと思っています! |
メモです。 |
がマージされました 🎉 |
#90 のつづき。
バージョン1を目指すには必須かなと思います。
Electron・Vue・Vuex・インストーラなど様々な領域で、まずは単体テストがあれば良いのかなと思ってます。
#164 が参考になるかもしれません。
The text was updated successfully, but these errors were encountered: