私は同じ計算機のいくつかのバージョン(IOS、JavaScript、Android)をすべてのプラットフォームで同じ結果を生成する必要があります。その上テストデータを反復処理し、XCTestCaseに渡す方法は?
onedigit.json:
{n1: 1, n2: 2, a: 3},
{n1: 4, n2: 5, a: 9}...
twodigit.json
{n1: 32, n2: 11, a: 43},
{n1: 42, n2: 0, a: 42}
...と:
は、私のような複数のデータセット全体に広がって、テストデータのセットを開発しました。
は、私のようなシンプルなXCTestCaseを持っている:@interface CalculatorAddTest: XCTestCase
@property NSNumber n1;
@property NSNumber n2;
@property NSNumber a;
@end
@implementation CalculatorAddTest
- (void) setUp{
self.n1 = passedInData.n1;
self.n2 = passedInData.n2;
self.a = passedInData.a;
}
- testAdd{
XCAssert(Calculator.add(self.n1, self.n2) == self.a);
}
- (void) tearDown{
...
}
だから、質問は、どのようにI:
for dataSet in dataSets:
for d in dataSet:
run CalculatorAddTest with d
すなわち、どのように私はCalculatorAddTestでpassedInData
に私のデータを渡すのですか?
私はinit:をオーバーライドしようとしましたが、それも呼び出されませんでした(XCTestCaseの指定された初期化子は何で、ヘッダは手がかりを与えません)。
ありがとうございます!
ssteinerX
私は、反復処理の方法を尋ねるのではなく、データをsetUpに取得して、テストケース内の各テストのソースデータとして使用できるようにするだけです。 – ssteinerX