質問編集履歴
2
空白の削除をしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
|
33
33
|
var instance2 = new sample2();
|
34
34
|
var pbObj = new PrivateObject(instance2);
|
35
|
-
pbObj.SetField("
|
35
|
+
pbObj.SetField("_result", false);
|
36
36
|
|
37
37
|
var ret = instance.method1();
|
38
38
|
Assert.IsFail(ret);
|
1
ソースを追加しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
テスト対象関数の中の関数の、privateフィールドにアクセスする方法はありますか。
|
2
2
|
例えば、以下のソースでは、sample1クラスのmethod1のテストを行っています。 method1の中の関数method2のprivateフィールド _resultの値にfalseをセットし、method1の戻り値がfalseになるようにしたいです。
|
3
|
-
下記の
|
3
|
+
下記のようにprivateObject を使って書いてみたのですが、 _resultがtrueのままになってしまいます。
|
4
4
|
|
5
|
+
```c#
|
5
|
-
|
6
|
+
public class sample1
|
6
7
|
{
|
7
8
|
public bool method1
|
8
9
|
{
|
@@ -10,8 +11,9 @@
|
|
10
11
|
return ret;
|
11
12
|
}
|
12
13
|
}
|
13
|
-
|
14
|
+
```
|
15
|
+
```c#
|
14
|
-
|
16
|
+
public class sample2
|
15
17
|
{
|
16
18
|
private bool _result = true
|
17
19
|
|
@@ -20,8 +22,10 @@
|
|
20
22
|
return _result;
|
21
23
|
}
|
22
24
|
}
|
25
|
+
```
|
23
26
|
|
27
|
+
```c#
|
24
|
-
|
28
|
+
[TestMethod()]
|
25
29
|
public void method1Test()
|
26
30
|
{
|
27
31
|
var instance = new sample1();
|
@@ -34,3 +38,4 @@
|
|
34
38
|
Assert.IsFail(ret);
|
35
39
|
}
|
36
40
|
|
41
|
+
```
|