私は現在Visual Studio Enterprise 2015バージョン14.0.25431.01 Update 3を使用しており、MS c#サンプルプログラムを使用して組み込みユニットテストとコードカバレッジ機能をテストしています。ユニットテストは完全に正常に動作しているが、毎回私は、テストが終わった後、私はというエラーメッセージ取得コードカバレッジを開始しよう:Visual Studio 2015アップデート3コードカバレッジの問題
「空の結果が生成される:。何バイナリが計測されなかったのテストが走っていることを確認し、必要なバイナリがロードされ、一致するシンボルファイルがあり、カスタム設定で除外されませんでした。詳細については、http://go.microsoft.com/fwlink/?LinkID=253731を参照してください。 "
もちろん、トラブルシューティングのためのリンクを確認し、そこに掲載されているすべての問題を解決しましたが、成功しませんでした。私は以前のバージョン(バイナリの計測やコードカバレッジの実行、テスト結果のフォルダの削除、VS Solution User Optionの.suoファイルの削除などのためにコマンドプロンプトを使用する)で動作するはずのいくつかのソリューションを試しましたが、まだ何も見つかりませんでした私の場合の役に立つ仕事。
誰もが同じ問題に直面しているのですか、それとも解決策を知っていますか?
ありがとうございます!
ベスト
、スティーブ
PS:私は、標準の設定を使用しますが、すべての最適化をオフになっています。私のテストプロジェクトは、私がテストしたいソースプロジェクトと同じソリューションにあります。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace codecoverage
{
public class Program
{
static void Main(string[] args)
{
Program prog = new Program();
prog.TestFunction(0);
}
public int TestFunction(int input)
{
if (input > 0)
{
return 1;
}
else
{
return 0;
}
}
}
}
テストクラス
は以下のように定義されます:私は解決策を探しているusing Microsoft.VisualStudio.TestTools.UnitTesting;
using codecoverage;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace codecoverage.Tests
{
[TestClass()]
public class ProgramTests
{
[TestMethod()]
public void TestFunctionTest2()
{
Program target = new Program();
int input = 1;
int expected = 1;
int actual;
actual = target.TestFunction(input);
Assert.AreEqual(expected, actual, "CodeCoverage.Program.TestFunction did not return the expected value.");
}
}
}
https://blogs.msdn.microsoft.com/allendm/2012/06/05/troubleshooting-missing-data-in-code-coverage-results/ – allen
お返事ありがとうございました。私はページをチェックし、分析出力ファイルは空です。だから私のテストの実行中にバイナリがメモリにロードされていないようです。任意のアイデアを修正する方法は?私の設定に何か問題がありますか?私のテストは何のエラーもなく走ったので、私もそれをチェックしました。 – Steve