Ich habe mehrere Versionen (IOS, JavaScript, Android) des gleichen Rechners, die auf jeder Plattform das gleiche Ergebnis erzeugen müssen.Wie über Testdaten iterieren und dann an XCTestCase übergeben?
Ich habe eine Reihe von Testdaten entwickelt, wie über mehrere Datensätze verteilt:
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}
... und so weiter.
Ich habe eine einfache XCTestCase wie:
@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{
...
}
Also, die Frage ist, wie man I:
for dataSet in dataSets:
for d in dataSet:
run CalculatorAddTest with d
heißt wie gebe ich meine Daten in passedInData
in CalculatorAddTest?
Ich versuchte überschreiben init :, aber das wurde nicht einmal aufgerufen (keine Ahnung, was Initialisierungsinitiator für XCTestCase ist und Header gibt keine Hinweise).
Danke!
ssteinerX
Ich frage nicht, wie die Iteration zu tun, nur, wie meine Daten in Setup zu bekommen, so dass es als die Quelldaten für jeden der Tests im Testfall verwendet werden kann. – ssteinerX