Ik zit met het volgende probleem, allereerst heb ik de volgende build.xml.
Het probleem zit hem in:
Als JUnit deze test uitvoert, krijg ik de volgende exception:
Dit betekent dus dat mijn klasse beans.banking.Transaction niet gevonden kan worden.
Ik heb gevonden op internet dat ik een codebase moet toevoegen, in de vorm van:
Maar volgens mij kan ik een jvmarg niet toevoegen aan een junit commando. Ik krijg telkens die foutmelding, heeft iemand enig idee hoe ik deze fout met JUnit kan oplossen?
XML:
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
| <project name="Banking" basedir="."> <property name="src.dir" value="src" /> <property name="web.dir" value="web" /> <property name="classes.dir" value="web/WEB-INF/classes" /> <!-- <property name="war.dir" value="/Library/Tomcat/Home/webapps/" /> --> <property name="war.dir" value="C:\apache-tomcat-6.0.26\webapps" /> <target name="clean"> <delete dir="${classes.dir}"/> <delete dir="${war.dir}/${ant.project.name}"/> <delete file="${war.dir}/${ant.project.name}.war"/> </target> <!-- target start_registry: start the RMI registry --> <target name="start_registry"> <exec executable="rmiregistry" spawn="true"> </exec> </target> <target name="compile" depends="start_registry"> <mkdir dir="${classes.dir}"/> <javac srcdir="${src.dir}" destdir="${classes.dir}"/> </target> <target name="war" depends="compile"> <mkdir dir="${war.dir}"/> <jar destfile="${war.dir}/${ant.project.name}.war" basedir="${web.dir}"> </jar> </target> <target name="junit" depends="war"> <junit printsummary="yes" fork="yes" haltonfailure="yes"> <classpath> <pathelement location="${classes.dir}"/> </classpath> <formatter type="plain"/> <test name="test.ConcreteAuthenticationTest" haltonfailure="no" outfile="ConcreteAuthenticationTest"/> <test name="test.ConcreteTransactionTest" haltonfailure="no" outfile="ConcreteTransactionTest"/> <test name="test.ConcreteDataAccessTest" haltonfailure="no" outfile="ConcreteDataAccessTest"/> <test name="test.Registry007Test" haltonfailure="no" outfile="Registry007Test"/> <test name="test.RMIServerTest" haltonfailure="no" outfile="RMIServerTest"/> </junit> </target> </project> |
Het probleem zit hem in:
code:
1
| <test name="test.RMIServerTest" haltonfailure="no" outfile="RMIServerTest"/> |
Als JUnit deze test uitvoert, krijg ik de volgende exception:
code:
1
2
3
| java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: beans.banking.Transaction |
Dit betekent dus dat mijn klasse beans.banking.Transaction niet gevonden kan worden.
Ik heb gevonden op internet dat ik een codebase moet toevoegen, in de vorm van:
code:
1
| <jvmarg value="-Djava.rmi.server.codebase=${een of andere url}" /> |
Maar volgens mij kan ik een jvmarg niet toevoegen aan een junit commando. Ik krijg telkens die foutmelding, heeft iemand enig idee hoe ik deze fout met JUnit kan oplossen?
Asus EN8800GTS, Asus P5E, Intel E8400, 2x500gb Spinpoint (raid0), Zalman HP 600 watt, cnps 9500 led, creative xfi music, 4x1gb hyperX PC2 8500