単体テストの作成は、パブリッククラスかパブリックメソッド内でのみサポートされます。
VisualStudio2015では、メソッドを選んで右クリックすると「単体テストの作成」メニューが表示されて、テスト用のメソッドを作ってくれる。これは前々のバージョンにあったのが消えて復活したのかな、嬉しい機能です。
しかし、私が作るプロジェクトにはpublicメソッドがほとんどないので、大抵、下記のエラーが表示される。
プロジェクトの内部でしか使わないメソッドもテストしたいのに、、、
まあ、実現するのが難しいのも、なんとなくわかる。テストプロジェクトは外部のプロジェクトなので外部から参照できないメソッドは、テストできないわな。
外部からの参照を可能にする呪文もあるみたいだけど、スマートではないなあ。
ここで、テストメソッドをプロジェクト中に入れてしまえばよいのでは?と思いついた。
試してみたら、以外にもテストはできた。
Testsフォルダの中にテスト用のクラスファイルを追加しています。あと、参照に単体テスト用のDLLを追加した。
しばらく、これでうまくいくのか試してみよう。
*
(12/8追記)
プロジェクトの内部にテストメソッドを追加してみたが、やはり問題が見つかった。テストメソッドをpublicにしないと、テストエクスプローラでテストを実行できないのだった。
なんでもかんでもpublicか。
internalなメソッドのテストメソッドはinternalに書けるとよいのになあ。
ということで、テストメソッドをプロジェクトの内部に置くのはやめることにする。
なかなか、うまくいかない。
しかし、私が作るプロジェクトにはpublicメソッドがほとんどないので、大抵、下記のエラーが表示される。
プロジェクトの内部でしか使わないメソッドもテストしたいのに、、、
まあ、実現するのが難しいのも、なんとなくわかる。テストプロジェクトは外部のプロジェクトなので外部から参照できないメソッドは、テストできないわな。
外部からの参照を可能にする呪文もあるみたいだけど、スマートではないなあ。
ここで、テストメソッドをプロジェクト中に入れてしまえばよいのでは?と思いついた。
試してみたら、以外にもテストはできた。
Testsフォルダの中にテスト用のクラスファイルを追加しています。あと、参照に単体テスト用のDLLを追加した。
しばらく、これでうまくいくのか試してみよう。
*
(12/8追記)
プロジェクトの内部にテストメソッドを追加してみたが、やはり問題が見つかった。テストメソッドをpublicにしないと、テストエクスプローラでテストを実行できないのだった。
なんでもかんでもpublicか。
internalなメソッドのテストメソッドはinternalに書けるとよいのになあ。
ということで、テストメソッドをプロジェクトの内部に置くのはやめることにする。
なかなか、うまくいかない。
コメント
コメントを投稿