ok, i'll have a look into the spec. my biggest problem is, that buildr is not my everyday work. i just use it from time to time to move a project from ant to buildr... so it is kind of hard to digg really deep into the internals of buildr every time.
Am 23.10.2009 um 11:27 schrieb Alex Boisvert: > Just in passing... if the documentation doesn't provide enough > information, > the second place to look are the specs. The specs are our 'reference > documentation' in the sense that they specify actual expected runtime > behavior. > > And this being said, I'll second you on the need for more > documentation on > integration testing. > > alex > > On Fri, Oct 23, 2009 at 12:59 AM, Peter Schröder <[email protected]> wrote: > >> the documentation on this topic is very limited... >> >> my expectations were the following: >> >> 1. integration setup and teardown are only executed if i explicitly >> use :integration >> 2. i can configure it for each subproject >> 3. i am able to configure it from the outside via a custom task >> >> i dont think that it is neccessary to support all my needs, but i >> think a clear instruction what you can do and what you cant would >> help! >> >> kind Regards, >> Peter >> >> Am 21.10.2009 um 20:40 schrieb Assaf Arkin: >> >>> On Wed, Oct 21, 2009 at 2:10 AM, Peter Schröder <[email protected]> wrote: >>> >>>> another thing i noticed, is that calling >>>> >>>> project.test.using :integration in a post-define task >>>> >>>> seems to work differntly form calling it directly in the project >>>> via >>>> >>>> test.using :integration >>>> >>>> any ideas? >>>> >>> >>> Flipping integration bit on simply changes when tests are run: after >>> packaging (integration), instead of before packaging (regular). All >>> other >>> behavior is the same (setup, teardown, frameworks, etc). >>> >>> Test options are inherited, options you define in a parent project >>> are >>> inherited by its sub-project, and that should include the >>> integration >>> option. >>> >>> Changing the order in which tests are run involving setting up task >>> dependencies, which happens at the very end of the project >>> definition, after >>> evaluating the block. If you then (post-define) change the setting, >>> nothing >>> much happens, as task are already wired to run in non-integration >>> order. >>> >>> Assaf >>> >>> >>>> >>>> Am 21.10.2009 um 09:32 schrieb Peter Schröder: >>>> >>>>> hi there, >>>>> >>>>> we are experiencing somewhat strange behavior when using >>>>> integration >>>>> tests. >>>>> >>>>> we have a setup where a project has n subprojects and only one of >>>>> them >>>>> has tests that should be executed as integration-tests. >>>>> >>>>> we are using environment-variables to let buildr include some >>>>> test- >>>>> classes that are only executed on our system-test-servers. >>>>> >>>>> this works very well: compiles, package artifacts, calls >>>>> integration- >>>>> setup, performs-tests, integration-teardown >>>>> >>>>> on the other hand we have the same setup but with a single project >>>>> without subprojects, where the integration setup is missing, so >>>>> the >>>>> system-tests fail without a system to test. in that project i have >>>>> to >>>>> call the integration-target directly to have the desired behavior. >>>>> >>>>> the builds are quite complex so i wont include them here, but i >>>>> played >>>>> around a little bit with a dummy project (see below). >>>>> >>>>> the things i dont understand are: >>>>> >>>>> 1. why are setup and teardown called for all projects even though >>>>> they >>>>> are never configured with :integration >>>>> 2. why are all tests executed as :integration if you just >>>>> configure it >>>>> in the parent project >>>>> 3. under wich circumstances will the integration-target get >>>>> invoked >>>>> >>>>> >>>>> module SystemTests >>>>> include Extension >>>>> >>>>> after_define do |project| >>>>> info "after define for #{project}" >>>>> #project.test.using :integration >>>>> project.integration.setup do >>>>> info "-" * 50 + " integeration setup for #{project}" >>>>> end >>>>> >>>>> project.integration.teardown do >>>>> info "-" * 50 + " integeration teardown for #{project}" >>>>> end >>>>> end >>>>> >>>>> end >>>>> >>>>> class Buildr::Project >>>>> include SystemTests >>>>> end >>>>> >>>>> repositories.remote << 'http://www.ibiblio.org/maven2/' >>>>> >>>>> info "define all" >>>>> define 'all' do >>>>> >>>>> info "define subA" >>>>> define 'subA' do >>>>> info "subA goes here" >>>>> #test.using :integration >>>>> end >>>>> >>>>> info "define subB" >>>>> define 'subB' do >>>>> info "subB goes here" >>>>> #test.using :junit >>>>> end >>>>> >>>>> info "all goes here" >>>>> >>>>> test.using :integration >>>>> >>>>> end >>>> >>>> >> >>
