У меня есть несколько версий (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{
...
}
Итак, вопрос в том, как я:
for dataSet in dataSets:
for d in dataSet:
run CalculatorAddTest with d
т.е. как я передать мои данные в passedInData
в CalculatorAddTest?
Я попытался переопределить init :, но это даже не получилось вызвано (не знаю, какой назначенный инициализатор для XCTestCase и заголовок не дает никаких подсказок).
Спасибо!
ssteinerX
Я не спрашиваю, как сделать итерацию, как получить мои данные в setUp, чтобы он мог использоваться в качестве исходных данных для каждого из тестов в тестовом примере. – ssteinerX