私はVS 2015 Enterpriseを使用しています。コードカバレッジを分析するために汎用テストを実行しました。私は機能ごとにカバーされたブロックのリストを見ていますが、それらは一般的に正しいと思われます。しかし、メソッドを右クリックして "ソースコードに移動"すると、いくつかの関数では、ソースコード(関連する.cppファイル)の正しい場所に移動しますが、他の関数では、ヘッダーファイルを開こうとしますソース行番号は正しいが、コードは.hファイルではなく.cppファイル内にある。これは、ソースコードの強調表示に影響します。つまり、.hppにあるVSは.cppで強調表示されていないと考えられる関数です。私はどのスレッドが呼び出されたのかを除いて、関数の違い(同じ可視性、同じヘッダとソースファイル)を判断することはできません。 VSがなぜいくつかのコードを.cppではなく.hに入れていると思うようなアイデアはありますか?Visual Studio 2015コードカバレッジ間違ったファイル
5
A
答えて
0
VS2015はC++ 11の機能non-static data member initializers(正しくコンパイルされています)をサポートしていますが、この機能ではカバレッジツールがうまく機能します。ここにMCVEがあります。 VS 14.0.24720.00 Update 1を使用しています。再現するには、このプログラムをコンパイルし、Generic Testを使用してコードカバレッジを取得します。 x
が初期化されている場合、カバレッジツールは.hファイル内のコンストラクタのコードを探します。 = 0
を取り出すと、.cppのようにコンストラクター定義が正しく識別されます。私の製品コードでは、それはコンストラクタではなく、カバレッジツールが.hファイルで定義されていると思われる無作為な関数でした。私の場合は、データメンバの初期化をコンストラクタの初期化リストに移動するだけでした。
//.h
class Test
{
public:
Test();
~Test();
void Func1();
void Func2();
void Func3();
int x = 0;
};
。
// .cpp
#include "Test.h"
#include <iostream>
Test::Test()
{
std::cout << "in Test()" << std::endl;
}
Test::~Test()
{
}
void Test::Func1()
{
std::cout << "in Func1" << std::endl;
Func2();
Func3();
}
void Test::Func2()
{
std::cout << "in Func2" << std::endl;
}
void Test::Func3()
{
std::cout << "in Func3" << std::endl;
}
関連する問題
- 1. Visual Studio 2012コードカバレッジ
- 2. コードカバレッジVisual Studio 2010
- 3. フィルター間違ったデータベースレコード(Visual Studio 2005の)(Visual Basicの)(正規化)
- 4. Visual Studio 2015ビジネスインテリジェンスプロジェクトテンプレート
- 5. Xamarin + Visual Studio 2015
- 6. Visual Studio 2015 - コマンドラインリターゲットソリューション
- 7. Visual Studio 2015 .jarリファレンス
- 8. mscorlib error visual studio 2015
- 9. Visual Studioのイオンアプリ2015
- 10. Visual Studio用プロジェクトテンプレート2015
- 11. visual studio 2015 sublime theme
- 12. Visual Studio 2012 | 2015インデントボタン
- 13. xamarin.IOS with Visual studio 2015
- 14. Visual Studio 2013で間違った環境変数パス
- 15. Visual Studio/Classライブラリ間違った作業ディレクトリ
- 16. Visual Studioキーボードで間違った文字が生成される
- 17. Visual Studio 2015 Update 2 Xamarim.Formエミュレータ
- 18. Visual Studio 2015 Community - Debugger Acting Strange
- 19. Visual studio 2015エンタープライズSign in Error:SP324099
- 20. std :: cout with Visual Studio 2015
- 21. Visual Studio 2015アプリケーションプロパティウィンドウヌル参照エラー
- 22. Visual Studio 2015 Update 1 spamhost localhost
- 23. TFS 2015 Visual Studioビルドプロジェクト変数
- 24. Visual Studio 2015 - tsconfig.json - TypeScript 1.6.0 Beta
- 25. Visual Studio 2015 IIS Express 500エラー
- 26. Visual Studio 2015 UnauthorizedAccessException(デバッグのみ)
- 27. Visual StudioのAngularJS Intellisense 2015
- 28. Visual Studio 2015 Apache Cordova with TypeScript
- 29. 私のstrchr()は、Visual Studio 2015
- 30. Visual Studio 2015 - EnvDTE Read ErrorList
[mcve]が役に立ちます。テンプレート機能を使用していますか? – AndyG
私は同意します。テンプレート機能はありません。 – Jeff
プロジェクトx64またはx86ですか?私はx64に問題があることを思い出します。 – AndyG