Ktouth Brand. on Web

け〜くんこと K.Ktouth のだらだらした日常と突発的に作るプログラムや読み物とかの雑多サイト



[2013年11月18日]

ようやく解決

2013年11月18日 18:34更新 筆者:K.Ktouth

ここ数日、ずっと頭を悩ませていた案件が解決しました!!!!

サーバの起動・終了で各一つテストを書いて。これらは問題なくグリーンになりました。
んで、次に提供するAPIのテストを書こうと別のテストクラスを追加、起動と終了はクラス全体でやればいいやと考えたわけです。で、まず一つ目のAPIのテストを記述。レッドになりました。ここまでは当たり前。

……なぜか他の二つのテストも赤くなったりならなかったりげー

どうもテスト用に起動したサーバ。サーバなので多重起動禁止制御をしているんですが、これが3つめの(テストクラス全体で使用する)テスト用に起動したサーバが破棄される前に次のテストを実行しようとして失敗している模様。どうも時間短縮のため、テストスイートがマルチスレッドでクラスを実行しようとしているっぽい?
だったらテストのセットアップ時に排他処理してみればいいじゃんと、色々試したんですが……どれを使ってもうまく行かず orz コード自体に問題は無いはずだけど……かなし

で。
ひたすら試しては失敗して不貞寝(ぉぃ を繰り返していましたが、ようやく解決。

テストのフレームワークを MSTest(テストエクスプローラ) から NUnit(NUnit Runner) に替えたらあっさり解決しましたあせ

せっかく一度は MSTest(テストエクスプローラ) の使い勝手を試そうと思ってたのに、結局は NUnit に戻るという(笑) Pro.版以降が使える NUnit(テストエクスプローラ) では同じ問題起きるかも知れませんが確認不能なのでさておきます。

ようやくまともにテスト作ることが出来るよ……あれ

本日のリンク元
アンテナ
その他のリンク元
検索