我想编写一个测试,并且需要调整我的pickerWheel。
我的pickerWheel有多个行,我可以通过以下方式访问它:

pickerWheels[0].adjust(toPickerWheelValue: "1. Mai")

它引发了一个错误:

断言失败::0:内部错误:找不到当前
值'Mai 4'的可能值... 4. Mai

因此,“Mai 4”实际上是可能的值,但格式错误。有没有什么办法解决这一问题?

我已经读过https://forums.developer.apple.com/thread/16104,但是.adjust对于我的不同行都可以正常工作。

最佳答案

这是UIPickerView实现的一个旧问题,该实现使用viewForRow覆盖代替titleForRow。至少可以追溯到2014年,到2019年8月为止没有解决方案:
Apple Developer Thread

一个简单的解决方法是实现选择器的titleForRow重写以进行UI测试,并返回到生产中通常较为复杂的viewForRow方法。

或者,如果您只能在选择器视图测试中忽略第一个和最后一个条目,请使用swipeUp()和swipeDown()方法。这些将分别选择第一项或最后一项,而与文本或字段数无关。就像是:

let pickerWheel = app.pickers.children(matching: .pickerWheel).element
    pickerWheel.swipeUp()
    pickerWheel.tap()

但是AdjustToPickerWheelValue被完全破坏了。当前的雷达条目为:
pickerView tests fail

关于ios - Swift 4 pickerWheel.adjust无法在可能的值中找到当前值'Mai 4',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50169079/

10-09 21:28