我有一个按钮按下后会触发动画,当动画完成时,它会更改标签的文本。我想编写一个测试来验证当按钮被按下时,标签的文本是否正确更改。
按钮按下的实现将使用
我考虑过模拟UIView,但是将UIView注入到视图控制器中似乎很奇怪。此外,我正在使用的模拟框架(OCMockito)似乎无法很好地模拟类方法。
我还考虑过方法交换或编写用于
作为TDD的新手,我不确定这里的最佳实践是什么。这是应该被认为是“UI调整”代码的一部分,因此可以接受未经测试吗?或者我是否忽略了一些更明显的测试方法?
按钮按下的实现将使用
[UIView animateWithDuration:animations:completion:]
。显然,我不希望我的单元测试真的等待0.5秒钟才能完成动画。我考虑过模拟UIView,但是将UIView注入到视图控制器中似乎很奇怪。此外,我正在使用的模拟框架(OCMockito)似乎无法很好地模拟类方法。
我还考虑过方法交换或编写用于
UIView
的测试类别,并使用什么都不做的实现来调用animations:
块,然后是completion:
块。这对我来说有些不可靠;我担心覆盖UIView上的类方法实现可能会产生意想不到的后果。作为TDD的新手,我不确定这里的最佳实践是什么。这是应该被认为是“UI调整”代码的一部分,因此可以接受未经测试吗?或者我是否忽略了一些更明显的测试方法?