#ios #swift #accessibility #axe #axedevtools
#iOS #swift #Специальные возможности #axe #axedevtools
Вопрос:
Я использую Axe DevTools и пытаюсь выяснить, как пометить несколько сканирований одной и той же информацией о сборке. Прямо сейчас мои тесты выполняются следующим образом:
class MyTestCase : XCTestCase {
func myTest() {
Attest.that(view: view)
.isAccessible({ result in })
.andPushResult(withTags: [myBuild])
}
}
Как я могу добавить myBuild
тег глобально ко всем тестам, которые я запускаю?
Ответ №1:
Я бы создал свой собственный класс, который использует Axe DevTools (Attest) АПИс. Затем пусть мои тестовые примеры взаимодействуют с моим собственным классом вместо того, чтобы взаимодействовать с самим Attest!
class AccessibilityTestUtils {
static let buildTag:String = Bundle.main.object(
forInfoDictionaryKey: "CFBundleShortVersionString"
) as! String
init(build: String) {
self.buildTag = build
}
static func runAccessibilityTestOn(aView : View) {
Attest.that(view: aView).isAccessible({ result in })
.andPushResult(withTags: [buildTag])
}
}
Пример Использования
class YourTestClass {
func yourTestCase() {
AccessibilityTestUtils.runAccessibilityTestOn(aView)
}
}
Примечание: Этот подход также защищает вас от будущих изменений в библиотеке аттестации, делая это так, что вам нужно изменить только одну строку кода в случае изменений, не совместимых с обратным.