Wie können Sie die folgende Struktur erstellen:
%Vor% Erläuterung: Ich möchte einige Tests in Bezug auf Kerndaten schreiben (überprüfen), aber ich möchte sie in verschiedene Testfall-Klassen aufteilen. In einer Testfall-Klasse würde ich Tests haben, die sich auf die Entität User
beziehen , in einem anderen, die Tests bezogen auf Comment
Einheit. Der Haken hier ist, dass ich möchte, dass die beiden Testfallklassen die in CoreDataTests implementierten Methoden setUp
und tearDown
teilen und sie einfach mit super
aufrufen, anstatt sie kopieren und einfügen zu müssen.
Aber da CoreDataTests
eine Testfallklasse ist, hat sie keine Headerdatei, daher beschweren sich die EntityTest
-Klassen, dass sie keine Basisklasse angegeben haben.
Sie können eine Unterklasse von XCTestCase genauso erstellen wie eine normale Klasse mit .h und .m Dateien.
Also nur Dateimenü & gt; Neue Datei & gt; Neue Cocoa-Klasse mit XCTestCase als Superklasse.
Sie können dann neue Tests erstellen, indem Sie diese als Superklasse verwenden. Sie müssen jedoch die Superklassen-.h-Datei importieren, da sie nicht automatisch hinzugefügt wird.
Ich habe dies aus genau den gleichen Gründen getan, indem ich Core-Daten getestet und gemeinsame Methoden für den Aufbau des Kontextes eingeführt habe.
Eine nervige Sache, aber es zeigt sich immer noch in der Test-GUI, nur ohne Tests.
Tags und Links objective-c unit-testing inheritance