Yash 2 その 295: テストの汎用性
結合テストを書くときはコードベースを分離しているといふ記事を見掛けた。Yash も、テスト対象が C で書かれてゐるのに対してテストはシェルスクリプトで書かれてゐるので、実質的にコードベースが分離されてゐると言へる。結果的に、yash のテストは再利用が可能となった。
再利用の一つは、yash のテストのうち POSIX の機能に関する部分だけを抜き出して任意の POSIX シェルをテストできるテストスイートを作成しようといふプロジェクト (posix-shell-tests) があったことだ。これは結局メンテナンスされなくなってしまったが、テストをほとんどそのまま使ひ回すことができたといふ点では成功した。
もう一つの再利用は、現在開発中の yash-rs のテストとしての利用である。これもテストをほぼそのまま使ひ回すことができてゐる。ただしテストハーネスの一部は Rust になってゐて、元の yash ほど簡単には他のシェルのテストに使へない。(Yash では make に指定する変数でテスト対象のシェルを変更することもできるやうになってゐる。Rust の cargo はあくまでもそのクレートでビルドするプログラムしかテストできない。)
| 固定リンク
コメント