質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

2回答

7947閲覧

C# 単体テストメソッドが認識されない

k_mail

総合スコア90

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2018/11/14 23:27

編集2018/11/15 07:08

Visual Studioの拡張機能ツール「AxoCover」を使用して単体テストをしています。

テスト内容としては、
Class1のメソッド”Add1”と”Add2”が正しく動作するかを、
UnitTest1でテストしています。

「AxoCover」を実行後、
レポート画面でテスト結果を表示させたのですが、
UnitTest1.csのみ実行され、
Class1.csは実行されません。(画像1[実施結果])

画像2[本来あるべき結果]
のように、Class1のテスト結果を
レポート画面に表示するにはどうすれば良いでしょうか。

C#

1using System; 2 3 4namespace ClassLibrary1 5{ 6 public class Class1 7 { 8 public static int Add1(int a, int b) 9 { 10 return a + b; 11 } 12 13 public static int Add2(int a, int b,int c) 14 { 15 if (a == 0) 16 { 17 return b+ c; 18 } 19 { 20 return a+ b + c; 21 } 22 23 } 24 25 } 26} 27

C#

1using System; 2using ClassLibrary1; 3using Microsoft.VisualStudio.TestTools.UnitTesting; 4 5namespace UnitTestProject1 6{ 7 [TestClass] 8 public class UnitTest1 9 { 10 [TestMethod] 11 public void TestMethod1() 12 { 13 Assert.AreEqual(3,Class1.Add1(1, 2)); 14 Assert.AreEqual(6,Class1.Add2(2, 2,2)); 15 } 16 } 17} 18

↓画像1[実施結果]
画像1(実施結果)

↓画像2[本来あるべき結果]
画像2(本来あるべき結果)

↓追加画像
メソッドのOK・NGがわかる

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/15 07:05 編集

ごめんなさい。「AxoCover」の利用を加味できていない指摘だったので、撤回します。
k_mail

2018/11/15 07:08

ClassLibraryのどのメソッドがテストOKで、どのメソッドがNGなのかが知りたいです。追加画像を添付致しました。宜しくお願い致します。
k_mail

2018/11/15 07:10

>「AxoCover」の利用を加味できていない指摘だったので、撤回します。⇒承知しました。
gaya-K

2018/11/15 10:16 編集

それぞれのアセンブリのターゲットフレームワークは何でしょう? それと[本来あるべき] の絵はどうやって撮ったんでしょうか?
k_mail

2018/11/15 10:51

それぞれのアセンブリのターゲットフレームワークは何でしょう?⇒「.NET Framework 4.5」ということでしょうか。(すいません。理解できず。。)  [本来あるべき] の絵はどうやって撮ったんでしょうか?⇒見本サイトをキャプチャしました。TDDの手順を記載されていたので、それを見ながら実践しましたが、サイトの通りの画面になりませんでした。。
guest

回答2

0

回答になりませんが、わたしの環境でも問題ありませんでした。

UnitTest1.csのみ実行され、
Class1.csは実行されません。

とありますが正しくは、テストの過程で Class1 は実行されているはずで、
できていないのは Class1 のカバレッジ解析です。

プロジェクトをリビルドしても結果は変わりませんかね?

投稿2018/11/15 15:11

gaya-K

総合スコア449

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k_mail

2018/11/16 13:46

ご回答ありがとうございます。 ビルド・リビルド、slnの再起動を行いましたが、 変わりはありませんでしたね。 ありがとうございました。
guest

0

ベストアンサー

次のような記述を見つけました(ちゃんと検証していませんしGoogle翻訳ですが)。テストを実行する前にAxoCoverの何かを実行しないといけないように思えます。

それはツールメニューのAxoCoverメニュー項目を使用して、その使用を制御するウィンドウを表示します。AxoCoverのソリューションを一度構築して、そこに含まれる内容を把握してください。次に、AxoCoverウィンドウの上部にある[実行]ボタンをクリックします。これは次のようになります。
引用元: Code Coverage with AxoCover

英語のほうが有益な情報がありますし、Chromeで検索 > 右クリック > 日本語に翻訳と翻訳もできますので、回答がなければ調べてみてください。

追記

回答じゃないですが、参考情報としてうまくいったの載せときます。Run > Coverしただけなので、質問者さんがなぜできないか謎です。

イメージ説明

投稿2018/11/15 11:17

編集2018/11/15 13:30
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k_mail

2018/11/15 11:36

ご回答ありがとうございます。引用元のサイトも知らないことがあり、勉強になりました。 特に手順は間違っていなさそうなんです。。。 もう少し調べてみます。
退会済みユーザー

退会済みユーザー

2018/11/15 13:32 編集

イメージあったほうが良いと思ったので、コメントを回答に移しました
k_mail

2018/11/16 13:48

回答ありがとうございます。 原因不明ですが、slnから作り直すと表示されるようになりました。 UnitTestもClass1もコピペで作成したのですが。。。 原因不明ですが、いったんクローズ致します。 わざわざ確認までしていただき、ありがとうございました。
退会済みユーザー

退会済みユーザー

2018/11/17 04:41

とりあえず解決したみたいでよかったです。私の回答はあまり気にせず、自己解決のほうがよいかもです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問