ユニットテストの概要(一)
1732 ワード
ユニットテスト
オブジェクトは一般的に一定の状態を持っています.私たちが書いたすべての方法は、1つ以上の出力を生成するか、1つ以上のオブジェクトの状態を変更するか、または兼ねています.1つのメソッドが出力もオブジェクトの状態も変化もしない場合、このメソッドは必要ありません.ユニットテストは、主に、1つ以上の方法を実行することによって、オブジェクトの状態または出力結果が予想されるものと一致するかどうかを検出するクラスの対外曝露方法である.
ユニットテストでは、次の点に注意してください.
ユニットテストの例を設計する方法
Arrange(準備)->Act(実行)->Assert(断言)
たとえば、メソッドの最大公約数を計算するコード:
// Class: GCDCalculator
- (NSUInteger)GCDWithNumber1:(NSUInteger)number1 number2:(NSUInteger)number2 {
NSUInteger remainder = number1 % number2;
if (remainder == 0) {
return number2;
} else {
return [self GCDWithNumber1:number2 number2:remainder];
}
}
準備フェーズでは、GDCalculatorのオブジェクトを作成し、実行フェーズで10と6などの適切なテストパラメータを設計する必要があります.メソッド
-[CGCDCalculator GCDWithNumber1: number2:]
を呼び出して、断言フェーズで結果を得ました.この結果が予想された2と一致するかどうかを検証します.- (void)testGCD {
// Arrange
GCDCalculator *cal = [[GCDCaculator alloc] init];
// Act
NSUInteger gcd = [cal GCDWithNumber1:10 number2:6];
// Assert
XCTAssertEqual(gcd, 2, @"GCD failed");
}