• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Maven Unit tests with EOF
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Maven Unit tests with EOF


  • Subject: Re: Maven Unit tests with EOF
  • From: Dennis Scheffer via Webobjects-dev <email@hidden>
  • Date: Thu, 23 Jan 2020 08:54:45 +0100

Hi everyone,


> // That's the main bundle when running tests from Eclipse
> Path mainBundlePath = Paths.get("build/your-project.woa");
>
> if (Files.notExists(mainBundlePath)) {
>  // Maven doesn't create a build directory. The WOA bundle goes into the
> target folder instead.
>  mainBundlePath = Paths.get("target/your-project.woa");
> }
>
> ERXExtensions.initApp("your-project", mainBundlePath.toUri().toURL(),
> ACUnitTestingApplication.class, args);

This may not work under certain circumstances because the surefire plugin
usually runs in the Maven 'test' phase which is before the 'package' phase.
Therefore, there may not be a bundle at 'target/your-project.woa' – especially
if you do a 'mvn clean test'.

The solution is very simple: I would consider tests that depend on a pre-build
bundle integration tests (which makes sense because most of the time all the
application's 'units' are integrated in a bundle). And just use the Maven
failsafe pugin (https://maven.apache.org/surefire/maven-failsafe-plugin/
<https://maven.apache.org/surefire/maven-failsafe-plugin/>). It works exactly
the same as the surefire plugin but runs in the 'verify' phase which is after
the 'package' phase. So 'mvn clean verify' will clean your target directory,
create a fresh new bundle and run your tests on your fresh bundle with the
solution mentioned above.

With regards,
--
Dennis


> On 23. Jan 2020, at 02:28, Henrique Prange via Webobjects-dev
> <email@hidden> wrote:
>
> Hey Aaron,
>
> This error rings a bell. I don't recall all the details. It looks like the
> collectMainProps method is trying to find the Properties file of your project
> in the wrong place.
>
> When you build your project in Eclipse with WOLips, it generates a build
> folder containing your project's WOA bundle. Maven, however, puts the
> generated WOA bundle in the target folder. I'm afraid the application
> initialization code keeps looking for the build folder when you run your
> tests with Maven.
>
> I'm not sure if there's a better way to solve this problem. Anyway, the code
> below may fix it.
>
> // That's the main bundle when running tests from Eclipse
> Path mainBundlePath = Paths.get("build/your-project.woa");
>
> if (Files.notExists(mainBundlePath)) {
>  // Maven doesn't create a build directory. The WOA bundle goes into the
> target folder instead.
>  mainBundlePath = Paths.get("target/your-project.woa");
> }
>
> ERXExtensions.initApp("your-project", mainBundlePath.toUri().toURL(),
> ACUnitTestingApplication.class, args);
>
> Cheers,
>
> HP
>
>> On Jan 22, 2020, at 2:09 PM, Aaron Rosenzweig via Webobjects-dev
>> <email@hidden <mailto:email@hidden>>
>> wrote:
>>
>> Hi,
>>
>> I’m trying to run maven unit tests with the surefire plugin that make use of
>> EOF but it’s not working out.
>>
>> I can run them in Eclipse with a direct launch as a bundless build and it
>> works. I make a call in the static initializer of the test case to:
>> ERXExtensions.initApp(ACUnitTestingApplication.class, arguments);
>>
>> And it thinks it’s a WO app and has access to the model group and all of EOF
>> and I can do destructive stuff like creating and saving Eos to the DB all
>> inside a launch from Eclipse.
>>
>> Where I’m running into trouble is trying to do it with Maven. At the moment
>> I’m getting a null pointer from maven launch at the following place.
>>
>> er.extensions.appserver.ERXApplication$Loader.collectMainProps(ERXApplication.java:757)
>>
>> I think because it is wanting to treat it as a bundle but it isn’t and so…
>> I’m not sure where to go from here. Any advice?
>>
>> AARON ROSENZWEIG / Chat 'n Bike <http://www.chatnbike.com/>
>> e:  email@hidden <mailto:email@hidden>  t:  (301) 956-2319
>>
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      (email@hidden
>> <mailto:email@hidden>)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden <mailto:email@hidden>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (email@hidden
> <mailto:email@hidden>)
> Help/Unsubscribe/Update your Subscription:
>
>
> This email sent to email@hidden <mailto:email@hidden>

Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Maven Unit tests with EOF
      • From: Aaron Rosenzweig via Webobjects-dev <email@hidden>
References: 
 >Maven Unit tests with EOF (From: Aaron Rosenzweig via Webobjects-dev <email@hidden>)
 >Re: Maven Unit tests with EOF (From: Henrique Prange via Webobjects-dev <email@hidden>)

  • Prev by Date: Re: Maven Unit tests with EOF
  • Next by Date: Re: Maven Unit tests with EOF
  • Previous by thread: Re: Maven Unit tests with EOF
  • Next by thread: Re: Maven Unit tests with EOF
  • Index(es):
    • Date
    • Thread