質問編集履歴
2
途中で投稿してしまったたため再度編集しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,18 +55,47 @@
|
|
55
55
|
```
|
56
56
|
単体テスト対象のクラス(ソース)
|
57
57
|
```C++
|
58
|
-
|
58
|
+
#include "Sum.h"
|
59
|
+
void TEST_SUM::Sum::setA(int a)
|
60
|
+
{
|
59
|
-
|
61
|
+
this->a = a;
|
62
|
+
}
|
63
|
+
void TEST_SUM::Sum::setB(int b)
|
64
|
+
{
|
65
|
+
this->b = b;
|
66
|
+
}
|
67
|
+
int TEST_SUM::Sum::sum()
|
68
|
+
{
|
69
|
+
return this->a + this->b;
|
70
|
+
}
|
60
71
|
```
|
72
|
+
テストコード
|
73
|
+
```C++
|
74
|
+
#include "pch.h"
|
75
|
+
#include "CppUnitTest.h"
|
76
|
+
#include "../Stady_TEST2/Sum.h"
|
77
|
+
//#include "../Stady_TEST2/Sum.cpp"
|
61
78
|
|
79
|
+
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
|
62
80
|
|
63
|
-
|
81
|
+
namespace UnitTest1
|
82
|
+
{
|
83
|
+
TEST_CLASS(UnitTest1)
|
84
|
+
{
|
85
|
+
public:
|
86
|
+
TEST_METHOD(TestMethod1)
|
87
|
+
{
|
88
|
+
TEST_SUM::Sum ABC;
|
89
|
+
ABC.setA(10);
|
90
|
+
ABC.setB(10);
|
64
91
|
|
92
|
+
Assert::AreEqual(20, ABC.sum());
|
93
|
+
}
|
94
|
+
};
|
95
|
+
}
|
96
|
+
```
|
65
97
|
|
66
|
-
### 試したこと
|
67
98
|
|
68
|
-
ここに問題に対して試したことを記載してください。
|
69
|
-
|
70
99
|
### 補足情報(FW/ツールのバージョンなど)
|
71
|
-
|
72
|
-
|
100
|
+
Visual Studio 2019
|
101
|
+
Microsoft CppUnitTestフレームワークを使用
|
1
過剰な文字列削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
現在、C++のコードにおいて単体テストについて学習しています。
|
4
4
|
任意のクラスのメンバー関数を対象としてテストコードを作成したのですが、ビルド時にリンクエラーが発生します。
|
5
5
|
|
6
|
-
0. テストコードでは、対象としているクラスのヘッダーファイルをインクルードしてます
|
6
|
+
0. テストコードでは、対象としているクラスのヘッダーファイルをインクルードしてます。
|
7
|
-
0. 対象としてるクラスはヘッダーとソースは別のファイルにしてます
|
7
|
+
0. 対象としてるクラスはヘッダーとソースは別のファイルにしてます。
|
8
8
|
0. 2のヘッダーとソースを1つのファイルとした時、この問題は起きません。
|
9
9
|
0. テストコードで対象としているクラスのヘッダーとソースファイルをインクルードするとこの問題は起きません。
|
10
10
|
0. メイン関数(対象のクラスを宣言、定義しているプロジェクトのメイン関数)からではリンクエラーは発生しません。
|