2016-03-29 26 views
2

Ich war mit OCMock für Stubbing-Klasse-lvl-Methoden und es hat gut funktioniert. Jetzt muss ich das gleiche Verhalten mit OCMockito erreichen.OCMockito Stub Singleton gemeinsame Instanz Methode

In OCMock Ich habe folgende:

_mock = mockClass([MySingleton class]); 
OCMStub([_mock sharedSingleton]).andReturn(_mock); 

In meinem Fall habe ich sharedSingleton Methode Stummel, weil es an mehreren Stellen während des Tests verwendet wird.

+0

Das hat sehr geholfen, danke! –

Antwort

1

OCMocks Fähigkeit, Singletons direkt zu stubben, wird durch Verfahrenswechsel durchgeführt. Bei OCMockito vermeide ich diesen Ansatz absichtlich. Ich empfehle Ihnen, eine Form von Dependency Injection zu verwenden, um die Instanz bereitzustellen.

Wenn Sie das nicht möchten, können Sie OCMock und OCMockito immer mischen. Auf diese Weise können Sie das OCMock-Verhalten beibehalten, während Sie OCMockito für andere Zwecke verwenden.

+0

Danke Jon, ich kann DI nicht benutzen, also um mein Problem zu lösen, müsste ich Methode Swizzling verwenden ... –

Verwandte Themen