0

その値を単体テストしたいNSStringのですが、2 つの「正しい」値を受け入れることができる必要があります。1つだけではありません。どうすればこれを行うことができますか?

私は次のようなことができることを知っています:

STAssertEqualObjects(node.name, @"attachment", @"invalid name");

しかし、たとえば@"attachment"AND値を正しいものとして受け入れ、いずれかに等しい@"table"場合に単体テストに失敗しないようにするにはどうすればよいでしょうか。NSString

ありがとうございました。

4

1 に答える 1

1

そのための特別なマクロはありません。STAssertTrueおよびNSArray許容値を含むリテラルを使用できます。

STAssertTrue([@([@"attachment", @"table"]) containsObject:myString]), @"invalid name");

を処理するマクロ プリプロセッサからカンマを隠すには、追加の括弧のペアが必要ですSTAssertTrue

または、次のように綴ることもできます。

STAssertTrue([@"attachment" isEqual:node.name] || [@"table" isEqual:node.name], @"invalid name");
于 2012-11-05T22:19:02.720 に答える