Nasıl isKindOfClass çağıran kodu ile OCMock nesneleri kullanabiliriz?

oy
7

Ben OCMock bazı kodu test etmek istiyorum.

Kod bağırsaklar aradığınız [NSObject isKindOfClass]Öyle gibi koduna sağlıyorum sahte nesne üzerinde:

if ([object isKindOfClass:[FancyClass class]]) { ...}

Ancak, böyle yaratılmış bir OCMockObject tabanlı mock sağladığınızda:

mock = [OCMockObject mockForClass:[FancyClass class]];

o da geçmez anlaşılıyor isKindOfClasstesti.

Baska öneri?

Oluştur 29/01/2009 saat 02:17
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
7

Genel kural aradığınız eğer olmasıdır isKindOfClass:ve Plist sınıflarına (örneğin NSString veya NSNumber) birini geçerek değiliz, sen O Yanlış Yapıyorsunuz.

yöntem, bağımsız değişken olan sınıf bağlı olarak iki veya daha fazla farklı şey varsa, birden çok yöntem haline parçalamak, ve ayrı ayrı her yöntem test edin.

yöntem, tek bir şey yapar, ancak nesne farklı o, o zaman olan sınıf bağlı olarak etkileşim varsa:

  1. bir protokol yapın. (Obj-C Protokoller Java gibi diğer bazı OO dilde “arayüzleri” denir.)
  2. tüm protokole uyan birçok sınıfları olun. Gerekirse, dışarıdan gerekli yöntemleri eklemek için kategorileri kullanabilirsiniz.
  3. Geçerli yerine, protokole uygunluk için deney kontrol altında yöntemim olsun isKindOfClass:çek.
  4. Test edilen yöntem protokolünde yöntemleri kullanmak olun.
Cevap 29/01/2009 saat 03:20
kaynak kullanıcı

oy
2

Ne dersin:

    [[[mock stub] andReturnValue:OCMOCK_VALUE((BOOL) {YES})] isKindOfClass:[FancyClass class]];
Cevap 06/05/2013 saat 19:37
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more