スキップしてメイン コンテンツに移動

単体テストの作成は、パブリッククラスかパブリックメソッド内でのみサポートされます。

VisualStudio2015では、メソッドを選んで右クリックすると「単体テストの作成」メニューが表示されて、テスト用のメソッドを作ってくれる。これは前々のバージョンにあったのが消えて復活したのかな、嬉しい機能です。



しかし、私が作るプロジェクトにはpublicメソッドがほとんどないので、大抵、下記のエラーが表示される。


プロジェクトの内部でしか使わないメソッドもテストしたいのに、、、

まあ、実現するのが難しいのも、なんとなくわかる。テストプロジェクトは外部のプロジェクトなので外部から参照できないメソッドは、テストできないわな。

外部からの参照を可能にする呪文もあるみたいだけど、スマートではないなあ。

ここで、テストメソッドをプロジェクト中に入れてしまえばよいのでは?と思いついた。

試してみたら、以外にもテストはできた。


Testsフォルダの中にテスト用のクラスファイルを追加しています。あと、参照に単体テスト用のDLLを追加した。

しばらく、これでうまくいくのか試してみよう。



(12/8追記)

プロジェクトの内部にテストメソッドを追加してみたが、やはり問題が見つかった。テストメソッドをpublicにしないと、テストエクスプローラでテストを実行できないのだった。

なんでもかんでもpublicか。

internalなメソッドのテストメソッドはinternalに書けるとよいのになあ。

ということで、テストメソッドをプロジェクトの内部に置くのはやめることにする。

なかなか、うまくいかない。


コメント

このブログの人気の投稿

SQLでは文字列の前に「N」が必要だ

SQLServerのテーブルにテキストを登録したら一部の文字が文字化けした。環境依存文字だと化けるみたい。

コンボボックスのDataSourceプロパティの使い方

コンボボックスに表示するデータを設定するのを簡単にする工夫をまとめます。コンボボックスのDataSourceプロパティを上手に使いましょう。(2017/8/30追記)