我正在使用OCMock进行单元测试。
我有一个单身课程while
:
find
在我的测试用例中,我想要保留Sub test()
Dim flag As String, lastrow1 As Long, lastrow2 As Long, i As Long, j As Long
flag = "no"
lastrow1 = Range("A" & Rows.Count).End(xlUp).Row
lastrow2 = Range("F" & Rows.Count).End(xlUp).Row
ReDim set1(lastrow1) As String
ReDim set2(lastrow2) As String
For i = 1 To lastrow1 - 1
For j = 1 To 4
If j <> 3 Then
out = out & Cells(i + 1, j)
End If
Next j
set1(i) = out
out = ""
Next i
For i = 1 To lastrow2 - 1
For j = 5 To 7
out = out & Cells(i + 1, j)
Next j
set2(i) = out
out = ""
Next i
For i = 1 To lastrow1
For j = 1 To lastrow2
If set1(i) = set2(j) Then
flag = "yes"
End If
Next j
If flag = "no" Then
Range("I" & i + 1).Value = "Not Match"
Range("D" & i + 1).Interior.ColorIndex = 6
Else
flag = "no"
End If
Next i
End Sub
的返回值。我厌倦了以下事情:
MyManager
但是当我运行时,存根返回不起作用,它仍然返回真实的id。为什么?
答案 0 :(得分:1)
它返回真实ID的原因是因为在您的实现中调用[self alloc]
后,您正在处理MyManager
的新实例。这意味着在[[self alloc] init]
中,您最终会在不知道存根方法的全新实例上调用init
。
如果您想采用存根MyManager
初始化的方法,则必须存根[mgrMock alloc]
和[mgrMock init]
以返回模拟对象。
本单元测试的精神,我的建议是完全修改这种方法,而只是简单地存根sharedManager
以返回mgrMock
。您的测试与单例的Id相关,并且应该假设初始化按预期工作。