Reputation: 9
I have followed the directions from this website (https://schuchert.wikispaces.com/FitNesse.Tutorials.0.Java) to the t, however I cannot get the code on FitNesse to run clean.
I am consistently getting the following exceptions:
|Create Programs Could not invoke constructor for CreatePrograms[0]
|House The instance decisionTable_1.setName. does not exist
Here is my code. I have ensured my classpath is correct. Thank you for your time and consideration - I am very frustrated and confused with this.
!contents -R2 -g -p -f -h
!define TEST_SYSTEM {slim}
!path fitnesse-standalone.jar
!define COLLAPSE_SETUP {true}
!define COLLAPSE_TEARDOWN {true}
!path Users/Julianne/src/fitnesse-tutorials/DVR/bin/
|import|
|com.om.example.dvr.fixtures|
!|Create Programs |
|Name |Channel|DayOfWeek|TimeOfDay|DurationInMinutes|id? |
|House|4 |Monday |19:00 |60 |$ID=|
Upvotes: 0
Views: 11458
Reputation: 1
I struggled with this same error for a few days. I found that I was including too much information in my !path on the fitnesse page. I was including information which was already in my JAVA "package" statement.
If the class is within a package provide the path to the folder where the package starts.
for example, my CreditsForPayment.Class includes "package jukebox.fixtures;". The complete path to my class is: C:\Users\Brandon\IdeaProjects\untitled\out\production\untitled\jukebox\fixtures\CreditsForPayment.Class
, but in order for Fitnesse to properly find my class, I must use the path.
C:\Users\Brandon\Ideaprojects\untitled\out\production\untitled
with
|import|
|jukebox.fixtures| in my Fitnesse page.
Then you can go ahead with calling the class.
!|CreditsForPayment|
|payment|credits?|
|1|4|
From the https://dzone.com/refcardz/getting-started-fitnesse example.
Upvotes: 0
Reputation: 716
This error occurred because of missing class file or jar file in the path.
Try using below in the same test page rather than in setup page or root page:
!define TEST_SYSTEM {slim}
!path target/*.jar
!path lib/*.jar
where,
targer/*.jar
= For maven project only after mvn clean install
.
Upvotes: 0
Reputation: 4252
For me it worked when I added the class package name in the content.txt under SetUp folder so somewhat similar structure would be there to setup classpath for the test.
Upvotes: 0
Reputation: 1720
Could not invoke constructor for CreatePrograms[0]
This error tells you that the test execution cannot find the fixture code in the classpath (accumulated from !path
statements) that it launches.
It looks like you are giving a relative path here
!path Users/Julianne/src/fitnesse-tutorials/DVR/bin/
Given that you are running on Mac OS, if you specify it without the preceding '/', it becomes a relative path from the location that you launch your server.
Another thing to check is that ensure right under .../bin
you have com/om/example/dvr/fixtures
and the .class files are there.
On a side note: A useful trick to check the resulted classpath for the test execution is to add the following block to somewhere on test page (or included setup page)
|script |java properties|
|show |property |java.class.path|
Upvotes: 1
Reputation: 371
try to edit the root page and define classpath and variables there: i.e. http://localhost:8090/root
#!***> Classpath
!path ${java.class.path}
!define TEST_SYSTEM {slim}
!define COLLAPSE_SETUP {true}
!define COLLAPSE_TEARDOWN {true}
#*!
Upvotes: 0