3
3
4
4
using System . Collections ;
5
5
using System . Text . RegularExpressions ;
6
+ using System . Threading . Tasks ;
6
7
using NUnit . Framework ;
7
8
using UnityEngine ;
8
9
using UnityEngine . TestTools ;
@@ -22,82 +23,93 @@ public class LogAssertExample
22
23
private const bool Fail = false ; // このフラグをtrueにするとこのクラスのテストはすべて失敗します
23
24
24
25
[ Test ]
25
- public void Expect_期待するログメッセージが出力されなければ失敗するテストの例 ( )
26
+ public void Expect_期待するログメッセージが出力されること ( )
26
27
{
27
- if ( Fail )
28
+ if ( ! Fail )
28
29
{
29
- LogAssert . Expect ( LogType . Log , "expect message") ;
30
+ Debug . Log ( "expected message") ;
30
31
}
31
32
32
- Debug . Log ( "not expected message") ; // 通常、テスト結果に影響はない
33
+ LogAssert . Expect ( LogType . Log , " expected message") ;
33
34
}
34
35
35
36
[ Test ]
36
- public void Expect_期待する警告メッセージが出力されなければ失敗するテストの例 ( )
37
+ public void Expect_期待する警告メッセージが出力されること ( )
37
38
{
38
- if ( Fail )
39
+ if ( ! Fail )
39
40
{
40
- LogAssert . Expect ( LogType . Warning , "expect message") ;
41
+ Debug . LogWarning ( "expected message") ;
41
42
}
42
43
43
- Debug . LogWarning ( "not expected message") ; // 通常、テスト結果に影響はない
44
+ LogAssert . Expect ( LogType . Warning , " expected message") ;
44
45
}
45
46
46
47
[ Test ]
47
- public void Expect_期待するメッセージであればLogErrorで出力されてもテストは失敗しない ( )
48
+ public void Expect_期待するエラーログが出力されること_期待するメッセージであればLogErrorでもテストは失敗しない ( )
48
49
{
50
+ Debug . LogError ( "expected message" ) ; // 通常、LogError出力があるとテストは失敗する
51
+
49
52
if ( ! Fail )
50
53
{
51
- LogAssert . Expect ( LogType . Error , "expect message" ) ;
54
+ LogAssert . Expect ( LogType . Error , "expected message" ) ;
52
55
}
53
-
54
- Debug . LogError ( "expect message" ) ; // 通常、テストは失敗する
55
56
}
56
57
57
58
[ Test ]
58
- public void Expect_期待するメッセージであればLogErrorで出力されてもテストは失敗しない_正規表現 ( )
59
+ public void Expect_正規表現でマッチング可能 ( )
59
60
{
61
+ Debug . LogError ( "expected message" ) ; // 通常、LogError出力があるとテストは失敗する
62
+
60
63
if ( ! Fail )
61
64
{
62
65
LogAssert . Expect ( LogType . Error , new Regex ( "ex.+? (message|msg)" ) ) ;
63
66
}
67
+ }
68
+
69
+ [ Test ]
70
+ public async Task Expect_非同期テストではYieldを挟まなければ有効_AsyncTest ( )
71
+ {
72
+ Debug . LogError ( "expected message" ) ; // 通常、テストは失敗する
73
+
74
+ if ( Fail )
75
+ {
76
+ await Task . Yield ( ) ;
77
+ }
64
78
65
- Debug . LogError ( "expect message") ; // 通常、テストは失敗する
79
+ LogAssert . Expect ( LogType . Error , "expected message") ;
66
80
}
67
81
68
82
[ UnityTest ]
69
- public IEnumerator Expect_期待するメッセージであればLogErrorで出力されてもテストは失敗しない_Expectは後から呼んでも同フレームであれば有効 ( )
83
+ public IEnumerator Expect_非同期テストではYieldを挟まなければ有効_UnityTest ( )
70
84
{
71
- Debug . LogError ( "expect message" ) ; // 通常、テストは失敗する
85
+ Debug . LogError ( "expected message" ) ; // 通常、テストは失敗する
72
86
73
87
if ( Fail )
74
88
{
75
89
yield return null ;
76
90
}
77
91
78
- LogAssert . Expect ( LogType . Error , "expect message" ) ;
79
- yield return null ;
92
+ LogAssert . Expect ( LogType . Error , "expected message" ) ;
80
93
}
81
94
82
95
[ Test ]
83
96
public void NoUnexpectedReceived_ログメッセージ出力があるとテストを失敗させる ( )
84
97
{
85
- Debug . Log ( "log message" ) ; // 通常、テスト結果に影響はない
86
-
87
98
if ( Fail )
88
99
{
89
- LogAssert . NoUnexpectedReceived ( ) ; // TestMustExpectAllLogs属性でも代用できます
100
+ Debug . Log ( "not error message" ) ; // 通常、Log/LogWarningはテスト結果に影響しない
90
101
}
102
+
103
+ LogAssert . NoUnexpectedReceived ( ) ;
91
104
}
92
105
93
106
[ Test ]
94
- public void NoUnexpectedReceived_警告メッセージ出力があるとテストを失敗させる ( )
107
+ [ TestMustExpectAllLogs ]
108
+ public void TestMustExpectAllLogs属性_ログメッセージ出力があるとテストを失敗させる ( )
95
109
{
96
- Debug . LogWarning ( "warning message" ) ; // 通常、テスト結果に影響はない
97
-
98
110
if ( Fail )
99
111
{
100
- LogAssert . NoUnexpectedReceived ( ) ; // TestMustExpectAllLogs属性でも代用できます
112
+ Debug . Log ( "not error message" ) ; // 通常、Log/LogWarningはテスト結果に影響しない
101
113
}
102
114
}
103
115
}
0 commit comments