Hi everybody,
I just updated UnitKit 1.1 version in Étoilé cvs to work with GNUstep.
http://cvs.gna.org/viewcvs/etoile/Etoile/Frameworks/UnitKit/
http://cvs.gna.org/viewcvs/etoile/Etoile/Services/Developer/UnitTests/
http://www.unitkit.org
Nicolas Roard ported UnitKit 1.0 to GNUstep, but UnitKit 1.1 was broken
in many ways sadly and Nicolas forgot to implement support for tested
classes with categories ;-) That should be fixed now.
New features :
- support to use AppKit objects in your tests
- support for -initForTest and -releaseForTest methods like JUnit
-setUp and -tearDown (makes testing easier when you need to test a
singleton object or an object which imperatively needs to be created
with designated initialiser)
Bugs :
- exceptions which happen in your tests cannot be handled --> you get a
crash :-/
I'm working currently on improving UnitTests, the application written
by Nicolas to run tests and check the results more conveniently. The
main new improvement is the possibility to define "Tests sets", when
you run a Tests set, UnitKit tool run "tests suite" for your active
tests bundles list. You can specify various tests bundles predefined
list in Preferences and switch between them on the fly.
UnitTests is currently buggy, many things could not work very well.
A screenshot :
http://www.dromasoftware.com/etoile/experimental/screenshots/
UnitTests2.tiff
Here is a GNUmakefile example to use UnitKit, with this GNUmakefile to
run your tests, you just need to do :
make test=yes
ukrun myProject.bundle
***
include $(GNUSTEP_MAKEFILES)/common.make
ADDITIONAL_OBJCFLAGS = -Wno-import
#
# Main application
#
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)
PACKAGE_NAME = ServicesBarKit
ifeq ($(test), yes)
BUNDLE_NAME = libServicesBarKit
ADDITIONAL_LDFLAGS = -lUnitKit -lgnustep-gui -lgnustep-base
else
LIBRARY_NAME = libServicesBarKit
endif
VERSION = 0.1
libServicesBarKit_LIB_DIRS = -L../$(GNUSTEP_LIBRARIES_ROOT)
#
# Resource files
#
libServicesBarKit_MAIN_MODEL_FILE =
libServicesBarKit_RESOURCE_FILES =
libServicesBarKit_LOCALIZED_RESOURCE_FILES =
#
# Languages we're localized for
#
libServicesBarKit_LANGUAGES = \
English
#
# Header files
#
libServicesBarKit_HEADERS = \
SBServicesBarItem.h \
SBServicesBar.h
ifeq ($(test), no)
libServicesBarKit_HEADER_FILES_INSTALL_DIR = /ServicesBarKit
endif
#
# Class files
#
libServicesBarKit_OBJC_FILES = \
SBServicesBarItem.m \
SBServicesBar.m
ifeq ($(test), yes)
include $(GNUSTEP_MAKEFILES)/bundle.make
else
include $(GNUSTEP_MAKEFILES)/library.make
endif
***
I hope it will help you Yen-Ju :-)
Quentin.
--
Quentin Mathé
[EMAIL PROTECTED]