6
私はXCTestを使って単体テストに飛び込み、少し問題に遭遇しました。XCTAssert構文の配列の省略表現とメソッド呼び出しのエラー
私は速記配列の宣言と内側のメソッド呼び出しでXCTAssert文を書くとき、構文エラーがXcodeで吐き出される:
XCTAssert([self hasStrings:@[ @"foo", @"bar" ]]);
Xcodeでコンパイルエラー:
Expected identifier or '('
しかし、式の周りに角括弧を追加すると、動作します。
XCTAssert(([self hasStrings:@[ @"foo", @"bar" ]]));
これは私の構文のいくつかがマクロに渡されることを許可されていないことと関係していますか? (XCTAssertマクロであると仮定すると)
うわー、素晴らしい答え!私は[NSArray arrayWithObjects:...]メソッドを使ってXCTAssert(...)呼び出し内で同様の問題を抱えていました。それをクリアしていただきありがとうございます! –