1

単体テストを互いに独立した状態に保つのに問題があります。たとえばappend、1 つの要素を取得してリストに追加するメソッドと、別のリストを取得してすべてを追加するメソッドの 2 つのメソッドを持つリンク リストがあります。しかしappend、最初のメソッドを使用して渡すリストにデータを入力しないと、2 番目のメソッド (リスト全体を取得するメソッド) をテストすることはできませんappend。これら 2 つのメソッドの単体テストを互いに分離するにはどうすればよいですか?

4

2 に答える 2

0

それ自体は単体テスト メソッドではなく、複数のテストの条件を作成し、結果の検証を実行する 1 つのメソッドを作成できます。実際の単体テスト メソッドは、この他のメソッドを呼び出します。したがって、複数のテストに同じデータ セットを使用でき、テスト メソッド間に依存関係を導入する必要はありません。

使用している言語はわかりませんが、新しい XCTest フレームワークを使用した Xcode 5 の Objective-C の例を次に示します。私はこのようなことをします:

- (void)performTestWithArray:(NSArray *)list
{
    NSMutableArray *initialList = ...; // create the initial list you will use with multiple tests
    [initialList addObjectsFromArray:list];
    XCTAssertTrue(testCondition, @"message");
}

- (void)testAddSingleElement
{
    NSArray *array = @[ @"one element" ];
    [self performTestWithArray:array];
}

- (void)testAddList
{
    NSArray *array = @[ @"first element", @"second element", @"third element" ];
    [self performTestWithArray:array];
}
于 2013-09-29T00:26:48.453 に答える