jimpo wrote:
> Hi,
>
> yes, this is something I have actually started to use as a basic principle.
>
> In src/main/resources and src/test/resources there is a config file
> jdbc.properties which defines the connection details. It has properties such
> as
>
> jdbc.username=${jdbc.username}
> jdbc.password=${jdbc.password}
>
> Now, instead of trying to make Maven put different values to
> ${jdbc.username} based on the build phase, I created additional properties
> such as ${jdbc.test.username} and used them in the src/test/*. I'm still in
> the middle of configuring the whole thing, but it seems like a valid
> approach.
>
> To get things clear, maven creates one .war during the test phase (with
> files based on src/test/resources/) and then creates another .war (using
> files from src/main/resources) when it creates the final installation
> packet? When I run
>
>> mvn install
>
> and Maven first goes through the test phase and then installs war in the
> repository, two different wars are created? Correct?
>
>
>
>
> Victor Cardona wrote:
>> jimpo wrote:
>>> Using application server -specified datasources is out of the question
>>> right
>>> now unfortunately. Database connection details are configured inside the
>>> web
>>> application.
>>>
>>> It surprises me if Maven would not make it easy to use a different
>>> database
>>> configuration for the tests and a different one for the created
>>> application.
>>> This would basically make the dbUnit plugin pretty pointless, wouldn't
>>> it?
>>> If you are creating a release of your application, you want the release
>>> to
>>> point to a production db, but you still want the unit tests to be done
>>> against a unit test db populated with dbUnit.
>>>
>>> (not getting into whether such unit tests are really true "unit"
>>> tests...I
>>> need them regardless of the term)
>>>
>>>
>>> Arnaud Bailly wrote:
>>>> jimpo <[EMAIL PROTECTED]> writes:
>>>>
>>>>> I am using Maven2 to build my war packet. Base maven configuration is
>>>>> created
>>>>> with Appfuse http://appfuse.org/display/APF/Home.
>>>>>
>>>>> When I do a mvn install (or mvn cargo:deploy), first a test phase
>>>>> executes,
>>>>> and then the final war is built and installed in the repository (or
>>>>> deployed
>>>>> to my app server).
>>>>>
>>>>> I want to run the tests against a different db than which the final
>>>>> package
>>>>> uses. So far I have not figured out how to do this. Test phase uses the
>>>>> same
>>>>> database as the final application.
>>>>>
>>>>> I figured out how to use profiles to switch between different
>>>>> databases.
>>>>> I
>>>>> can switch to test profile with, say, mvn test -Ptestdatabase. I could
>>>>> of
>>>>> course use mvn test -Ptestdatabase to test and then separate command
>>>>> mvn
>>>>> install -Dmaven.test.skip -Prealdatabase for creating the packet (and
>>>>> skipping tests), but that's not very nice. I want to be able to issue
>>>>> one
>>>>> command which does both phases, tests and packaging.
>>>>>
>>>>> I am guessing maybe the solution would be something like activating
>>>>> profile
>>>>> X for the tests phase, and then activating a different profile Y for
>>>>> the
>>>>> actual build. How could I accomplish this?
>>>>>
>>>> Hello,
>>>> I do not think possible right now to activate different profiles for
>>>> different phases in the same run. And I do not think this is
>>>> desirable. Maybe, if you are in a J2EE Container, you could use
>>>> different data sources parameters in test and production ? AFAIK, data
>>>> source configuration is independent of the applicaiont and configured
>>>> in the container, so you could use a test configuration, say with
>>>> hsqldb or derby in test, and another configuration in productoin. In
>>>> your webapp, data source reference will stay the same.
>>>>
>>>> HTH
>>>> --
>>>> OQube < software engineering \ génie logiciel >
>>>> Arnaud Bailly, Dr.
>>>> \web> http://www.oqube.com
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>> I'm not familiar with Appfuse, so excuse my uninformed question. How
>> are you configuring your datasource in your webapp? I'm guessing that
>> you have the connection properties in a file somewhere similar to
>> tomcat's context.xml. If so, can't you just add a similar file to your
>> testing resources directory that would then configure the application
>> with the test database information?
>>
>> Victor
>>
>>
>>
>>
> Well I can't really offer anymore advise at present. I have never actually tried to do a lot of integration testing with Maven before. My only suggestion is for you to google "maven" and "integration testing web applications" and see what you come up with. Perhaps someone else on the list can help you further. Victor
signature.asc
Description: OpenPGP digital signature
