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

テストを書いてCIを設定したい #16

Closed
Hiroshiba opened this issue Aug 13, 2021 · 9 comments
Closed

テストを書いてCIを設定したい #16

Hiroshiba opened this issue Aug 13, 2021 · 9 comments
Assignees

Comments

@Hiroshiba
Copy link
Member

バージョン0.3.0アップデートの際に、簡単に気づけそうなバグがあった状態でリリースされてしまいました。
https://github.com/Hiroshiba/voicevox_engine/pull/15/files#diff-d6af0459a37d985953d7040c14f53feb3b9cc9e58b543aa3c2b80256d276c5e0

この部分は音声ライブラリがなくても動くので、テストを書いていれば気づけたはずです。
とりあえずgithub actionsでCIを設定して、音声ライブラリのモックを作ってテストを充実させていきたいです。

@y-chan
Copy link
Member

y-chan commented Aug 22, 2021

出来るところまでやってみようかと思いますので、assignしてもらえればと思います。

@Hiroshiba
Copy link
Member Author

ありがとうございます、ぜひお願いします。

テストライブラリは何を用いられる予定でしょうか。
(pytestであればちょっとわかりますが、もっと良いのがあればそちらを適用したいです。)

@y-chan
Copy link
Member

y-chan commented Aug 22, 2021

以前、FastAPIを用いたアプリケーションのテストを途中まで実装したことがあるのですが、この際はunittestとpytestの合わせ技みたいな形でやりましたね。
https://github.com/atomicswap-network/asns/blob/develop/test/test_api.py
上の例のような形で実装してみようかと思います。

@Hiroshiba
Copy link
Member Author

良いと思います!

@y-chan
Copy link
Member

y-chan commented Aug 23, 2021

叩けるAPIを叩いて、予想される挙動をするか(何かしらエラーを吐かないか)、というテストを書いていたんですが、これだと音声ライブラリが必要になってしまいますね...
各classや関数ごとにテストを書くのが正しいと思われるので、その方向で調整します...

@Hiroshiba
Copy link
Member Author

ランダムな値を返す音声ライブラリのモックを作っても良いかもと思いました。

@y-chan
Copy link
Member

y-chan commented Aug 27, 2021

CI整備と同時に、docstringの整備も始めて見ました(CIの整備において、各関数の処理の内容を理解する必要があるので、メモがてら書いている感じで、誤っている可能性も十分にありますが...)
y-chan@261d146
今のペースでいけばCI整備には相当な時間を要する気がしますが、大きくコードが読みやすく、かつ後の.so/.dll等公開後のサードパーティエンジンの作成等に大きく貢献できると考えています。

@Hiroshiba
Copy link
Member Author

docstringの整備もぜひお願いしたいです!

@Hiroshiba
Copy link
Member Author

とりあえずCIが整備され、かつテストも実装されたのでcloseしたいと思います。
@y-chan さんありがとうございました!)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants