Re: wounit: cannot load model
Re: wounit: cannot load model
- Subject: Re: wounit: cannot load model
- From: hafid ouazib <email@hidden>
- Date: Thu, 02 Aug 2012 09:31:21 -0400
Hi Henrique,
I have the same error message if I run test in my application or in my framework,
but, when I close all my frameworks in Eclipse, the test is working fine,
it is not a good solution because, it will be dificult to run tests if I need to close all my framworks every time:(
Thanks,
2012/7/31 Henrique Prange
<email@hidden>
Hi Hafid,
It should have worked. WOUnit search for models in the classpath (inside or outside a Resources folder).
I need more information to understand if it is a bug in WOUnit. Your project is an application or framework? The model ACAIQCore is in the same project of the test class? Have you tried to run the test from your build system? Did it work?
I've also created the issue [1] #29 to improve the error message in case a model cannot be loaded properly.
Cheers,
Henrique
Hi,
My model is in the folder Resources,
the source of my test is:
package com.acaiq.fondation.acaiqCore;
import org.junit.Rule;
import org.junit.Test;
import com.wounit.annotations.UnderTest;
import com.wounit.rules.MockEditingContext;
public class ExempleTest {
@Rule
public MockEditingContext ec = new MockEditingContext("ACAIQCore");
@UnderTest
Membre titulaire;
@Test
public void exempleUnitTest() {
System.out.println("first test");
}
}
stack trace:
java.lang.IllegalArgumentException: Cannot load model named 'ACAIQCore'
at com.wounit.rules.AbstractEditingContextRule.loadModel(AbstractEditingContextRule.java:186)
at com.wounit.rules.AbstractEditingContextRule.<init>(AbstractEditingContextRule.java:94)
at com.wounit.rules.MockEditingContext.<init>(MockEditingContext.java:113)
at com.wounit.rules.MockEditingContext.<init>(MockEditingContext.java:124)
at com.acaiq.fondation.acaiqCore.ExempleTest.<init>(ExempleTest.java:11)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:202)
at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:251)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:248)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Thanks,
2012/7/27 Henrique Prange
<email@hidden>
Hi Ramsey,
On 27/07/2012, at 17:48, Ramsey Gurley wrote:
> My guess is you or wounit or something hasn't inited the ERXApplication class and so no models. That's just a guess though. I've never used WOUnit.
>
The ERXApplication initialization is not required to run WOUnit test cases. The WOUnit framework is responsible for loading the required models (you have to specify the names of the required models when creating the MockEditingContext). For instance:
@Rule
public MockEditingContext ec = new MockEditingContext("MyModel");
This statement creates a MockEditingContext loading the model named MyModel.
Interesting. Thanks for sharing.
Cheers,
Henrique
_______________________________________________
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
_______________________________________________
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