2017-02-06 6 views
3

それは私がちょうど試験方法でそれを置く場合Assert.Pass(「一部のメッセージは」)何もしない私になりますDUnitXではいつAssert.Pass()を使用しますか?

procedure TRPMTestObject.TestPlatform; 
begin 
{$IFDEF WIN64} 
    Assert.AreEqual(8, SizeOf(Pointer)); 
    Assert.Pass('WIN64 Defined'); 
{$ENDIF} 
{$IFDEF WIN32} 
    Assert.AreEqual(4, SizeOf(Pointer)); 
    Assert.Pass('WIN32 Defined'); 
{$ENDIF} 
end; 

これは、テストコンソールに印刷されません...そのどれシナリオをこの関数を使用しますか?

答えて

4

通常、テストでは、何かが期待値を持っていると主張する必要があります。ただし、何かが爆発しないように(例外が発生していない)ことを確認したい場合もあります。

DUnitやDUnitXなどのフレームワークでは、空のテスト(アサートを行わなかったテスト)が検出されているため、テストが空ではないことをフレームワークに伝える必要があります。通常、Assert.Passを使用するときです。また、テストを早期に中断することもできます(それには何らかのケースがある場合)。

Assert.AreEqualに電話する場合は、Assert.Passは必要ありません。

関連する問題