Hello!
I'm new to dbFit and FitNesse and while I have managed to get simple
tests working in an Oracle 10g environment (connecting to db, querying
db, simple parameters) I have not been able to run the Execute
Procedure successfully. This functionality is the primary goal for us
in using dbFit so this has been somewhat disappointing.
I have tried the syntax described this post
http://groups.google.com/group/dbfit/browse_thread/thread/018c8c879edcd2eb.
No matter what I try, I receive a NullPointerException error along
with 'cannot find parameter'.
Additionally, I get an additional error if the return type is a
boolean, that it is not supported. I saw a post from quite some time
ago where a chap was asking for the boolean type to be added to dbfit
for Oracle. Was this done?
I'd appreciate some advice from users who have this functionality
working, even some code snippets that work would be helpful.
For example: the function FORMAT_IP_ADDRESS_FOR_SORTING is stored in
the database as part of a package. It takes an input parameter and
returns the formatted string. From the documentation, my code is:
!|Execute Procedure|COMMON_RULES_MGR.FORMAT_IP_ADDRESS_FOR_SORTING|
|reformat_ip|?|
|010.001.002.003|10.1.2.3|
The stack trace I get on this is:
Execute Procedure
java.lang.NullPointerException at
dbfit.fixture.ExecuteProcedure.doTable(ExecuteProcedure.java:114) at
fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:
18) at
fitlibrary.traverse.workflow.DoTraverse.interpretWholeTable(DoTraverse.java:
98) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:63) at
fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:39) at
fitlibrary.DoFixture.interpretTables(DoFixture.java:40) at
dbfit.DatabaseTest.interpretTables(DatabaseTest.java:24) at
fit.Fixture.doTables(Fixture.java:75) at
fit.FitServer.process(FitServer.java:76) at
fit.FitServer.run(FitServer.java:52) at
fit.FitServer.main(FitServer.java:43)
COMMON_RULES_MGR.FORMAT_IP_ADDRESS_FOR_SORTING
reformat_ip
java.sql.SQLException: Cannot find parameter for column 0
name="reformat_ip" at
dbfit.fixture.ExecuteProcedure.initParameters(ExecuteProcedure.java:
179) at
dbfit.fixture.ExecuteProcedure.executeStatementForEachRow(ExecuteProcedure.java:
154) at dbfit.fixture.ExecuteProcedure.doRows(ExecuteProcedure.java:
127) at fit.Fixture.doTable(Fixture.java:162) at
dbfit.fixture.ExecuteProcedure.doTable(ExecuteProcedure.java:112) at
fitlibrary.traverse.AlienTraverseHandler.doTable(AlienTraverseHandler.java:
18) at
fitlibrary.traverse.workflow.DoTraverse.interpretWholeTable(DoTraverse.java:
98) at fitlibrary.DoFixture.interpretWholeTable(DoFixture.java:63) at
fitlibrary.suite.InFlowPageRunner.run(InFlowPageRunner.java:39) at
fitlibrary.DoFixture.interpretTables(DoFixture.java:40) at
dbfit.DatabaseTest.interpretTables(DatabaseTest.java:24) at
fit.Fixture.doTables(Fixture.java:75) at
fit.FitServer.process(FitServer.java:76) at
fit.FitServer.run(FitServer.java:52) at
fit.FitServer.main(FitServer.java:43)
?
010.001.002.003 10.1.2.3
Regards,
Sandra