[Seam] premiers tests unitaire (suite)
Bonjour,
je continue mes tests mais je ne comprends pas tous à fait ce que je fait alors, je vous sollicite pour m’aiguiller sur le bon chemin...
voici mon test:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| package com.sample;
import org.jboss.seam.mock.SeamTest;
import org.testng.annotations.Test;
import com.zanox.adspace.AdspaceOverviewBean;
import com.zanox.api.namespace._2009_07_01.AdspaceItem;
public class SeamSampleTest extends SeamTest {
protected static final AdspaceOverviewBean ADSPACE_OVERVIEW_BEAN = new AdspaceOverviewBean();
protected static AdspaceItem ITEM = null;
// @Test(expectedExceptions = Exception.class)
@Test
public void injectionFieldIsNull() throws Exception {
new ComponentTest() {
protected void testComponents() throws Exception {
setValue("#{user.name}", "toto");
}
}.run();
}
} |
Et mon EJB est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| /**
*
*/
package com.sample;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
/**
* @author j.vacheron
*
*/
@Scope(ScopeType.SESSION)
@Name("user")
public class User {
private String name;
private String password;
private String username;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name
* the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password
* the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username
* the username to set
*/
public void setUsername(String username) {
this.username = username;
}
} |
et quand je lance le test, j'obtiens:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| javax.el.PropertyNotFoundException: Target Unreachable, identifier 'user' resolved to null
at org.jboss.el.parser.AstValue.getTarget(AstValue.java:38)
at org.jboss.el.parser.AstValue.setValue(AstValue.java:83)
at org.jboss.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:249)
at org.jboss.seam.core.Expressions$1.setValue(Expressions.java:117)
at org.jboss.seam.mock.AbstractSeamTest$ComponentTest.setValue(AbstractSeamTest.java:152)
at com.sample.SeamSampleTest$1.testComponents(SeamSampleTest.java:19)
at org.jboss.seam.mock.AbstractSeamTest$ComponentTest.run(AbstractSeamTest.java:162)
at com.sample.SeamSampleTest.injectionFieldIsNull(SeamSampleTest.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:470)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:564)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:830)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.runWorkers(TestRunner.java:678)
at org.testng.TestRunner.privateRun(TestRunner.java:624)
at org.testng.TestRunner.run(TestRunner.java:495)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
at org.testng.SuiteRunner.run(SuiteRunner.java:190)
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
at org.testng.TestNG.run(TestNG.java:699)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:122) |
mais que se passe-t'il?