4 заметки с тегом
Test
UI Testing на нескольких устройствах сразу
20 января 2017, 13:41
UI Тестирование приложений
((https://github.com/linkedin/bluepill BluePill)
iOS: SwiftMonkey
20 января 2017, 12:28
Swift: Unit Test
30 ноября 2016, 23:06
Тесты
Правила написания тестов:
- Тестируем одно поведение (один тест тестирует одно поведение)
для того чтобы протестировать свои классы приложения нужно добавить в начало файла с тестами
@testable import PrjoectNameApp
где PrjoectNameApp — имя вашего iOS приложения/проекта
Памятка по методам
Всегда ошибка
XCTFail(@"always failed")
Равенство базовых типов
let primitive1:Int = 5 let primitive2:Int = 5 XCTAssertEqual(primitive1, primitive2) }
Равенство с погрешностью базовых типов
let constOne:Float = 5.012 let constTwo:Float = 5.014 let accuracy:Float = 0.005 XCTAssertEqualWithAccuracy(constOne, constTwo, accuracy: accuracy)
—-
Проверка на nil
id foo = nil; XCTAssertNil(foo, @"pointer:%p", foo);
—-
Проверка с задержкой по времени
XCTestExpectation *expectation = [self expectationWithDescription:@"block not call"]; NSTimeInterval timeout = 1.0f; [expectation performSelector:@selector(fulfill) withObject:nil afterDelay:0.3f]; [self waitForExpectationsWithTimeout:timeout handler:nil];
Тест асинхронного взаимодействия
func testNetModel(){ var items:[Post] = [] let expect = expectation(description: "Test net Model") let model = NetModel() model.npGetList({ posts in items = posts expect.fulfill() }) waitForExpectations(timeout: 4.0, handler: { error in if let error = error { XCTFail(error.localizedDescription) } let isLoaded:Bool = (items.count > 1) XCTAssertTrue(isLoaded) if isLoaded == false { print("posts: \(items)") } }) }
—-