2015-08-11 15 views
5

Swift'de Birim Testleri yapıyorum ve bir sorunla karşılaşıyorum. Ben testler her zaman, hatayı alıyorum:Test Delegesini Uygulama Delegesi'ne Uygulama Delegesi olarak Veremezsiniz

Could not cast value of type 'app.AppDelegate' to 'app_Tests.AppDelegate' 

Ben AppDelegate testleri Gruptan kontrolsüz oldu emin yaptı ve görünümü kontrolörleri artık uygulama temsilci erişemez. Bu problemin çözümü olan var mı? Şimdiden teşekkürler!

+0

merhaba, beklediğiniz öyle http://stackoverflow.com/questions/31990724/cannot-access-appdelegate-in-xctestcase-objects-or-anything-that-references-it beni bilgilendirin –

+0

Aşağıdaki cevaba benzer bir şeye benzeyeceğinizi düşünüyorum http://stackoverflow.com/a/32161983/2010154 – NSAnant

cevap

2

view controllers numaralı telefonun test kutunuza target membership numaralı telefondan geldiğini düşünüyorum. Bu durumda, view controllers test modülünüzü kullanır ve App gerçek modülünüzü Delege edin.

Target Membership

örneğin app için, üst test dosyası @testable import <module name>, uygulama adı içinde var. Daha sonra, testleriniz için target membership'u kontrol etmeden view controllers ürününüze sahip olmanız gerekir.

Bu şey, Eylül 2015 yılında piyasaya sürüldü Swift 2.0 ile birlikte gelen

+0

Çözümünüzü denedim.Ama viewcontroller'da (ex: func getEmail()) yazılı yöntemim varsa, bu yöntemi aramadım anlamına gelir test hedefimde bu yöntemi aramak için. – Madhumitha

+0

Bu yöntem genel bir yöntem midir? – Madhumitha

+0

@Madhumitha nope, '@testable import', iç yöntemleri de kullanabilirsiniz. Ama özel değil. –