Я пытаюсь настроить Fitnesse для запуска «простого» запроса и получаю сообщение об ошибке javalang при запуске теста
Ошибка версии протокола Slim
Ожидаемый V0.3, но был V0.2
Развернуть все | Свернуть все
ABORT
ИСКЛЮЧЕНИЕ : java.lang.ClassCastException: java.lang.String не может быть приведен к java.util.List
at fitnesse.slimTables.QueryTable $ QueryResults.makeRowMap (QueryTable.java:178)
at fitnesse.slimTables.QueryTable $ QueryResults. (QueryTable.java:170)
at fitnesse.slimTables.QueryTable.scanRowsForMatches (QueryTable.java:84)
at fitnesse.slimTables.QueryTable.evaluateReturnValues (QueryTable.java:72)
at fitnesse.responders.run.slimResponder.SlimTestSystem.evaluateTable (SlimTestSystem.java:365)
at fitnesse.responders.run.slimResponder.SlimTestSystem.evaluateTables (SlimTestSystem.java:360)
at fitnesse.responders.run.slimResponder.HtmlSlimTestSystem.createHtmlResults (HtmlSlimTestSystem.java:40)
at fitnesse.responders.run.slimResponder.SlimTestSystem.processTablesAndGetHtml (SlimTestSystem.java:280)
at fitnesse.responders.run.slimResponder.SlimTestSystem.processAllTablesOnPage (SlimTestSystem.java:263)
at fitnesse.responders.run.slimResponder.SlimTestSystem.runTestsAndGenerateHtml (SlimTestSystem.java:207)
at fitnesse.responders.run.MultipleTestsRunner.executeTestSystemPages (MultipleTestsRunner.java:126)
at fitnesse.responders.run.MultipleTestsRunner.startTestSystemAndExecutePages (MultipleTestsRunner.java:106)
at fitnesse.responders.run.MultipleTestsRunner.executePagesInTestSystem (MultipleTestsRunner.java:92)
at fitnesse.responders.run.MultipleTestsRunner.internalExecuteTestPages (MultipleTestsRunner.java:83)
at fitnesse.responders.run.MultipleTestsRunner.executeTestPages (MultipleTestsRunner.java:56)
at fitnesse.responders.run.TestResponder.performExecution (TestResponder.java:141)
at fitnesse.responders.run.TestResponder.doSending (TestResponder.java:45)
at fitnesse.responders.ChunkingResponder.startSending (ChunkingResponder.java:67)
at fitnesse.responders.ChunkingResponder.access $ 000 (ChunkingResponder.java:17)
at fitnesse.responders.ChunkingResponder $ RespondingRunnable.run (ChunkingResponder.java:106)
at java.lang.Thread.run (неизвестный источник)
Вот код:
!path C:\...\UnitTest\bin\Debug\TestBuildingMeasurement.dll
!|import|
|TestBuildingMeasurement|
!|Query:fitTest|
|StartDate|EndDate|KWHValue|
|11/6/2010 12:00:00 AM|11/6/2010 1:00:00 AM|1533.01|
|11/6/2010 1:00:00 AM|11/6/2010 2:00:00 AM|1391.76|
|11/6/2010 2:00:00 AM|11/6/2010 3:00:00 AM|1311.90|
C # код
public List<Object> query()
{
DateTime startDate = new DateTime(2010, 11, 06);//Day before the 2010 change to DST.
DateTime toDate = new DateTime(2010, 11, 09); // Get the data from the day after the change to DST.
MeterUsageLogic logicTest = new MeterUsageLogic();
var values = new List<Object>();
int buildingID = 1;
MeterUsage_001 dsUsage = logicTest.GetMeterUsageInUTC(buildingID, startDate, toDate, 3600);
if (dsUsage.Usage.Count == 72)
{
for (int count = 0; count < 72; count++)
{
Object[] record = dsUsage.Usage.Rows[count].ItemArray;
DateTime StartDateValue = (System.DateTime)record.GetValue(0);
string tempStartDateValue = Convert.ToString(StartDateValue);
DateTime EndDateValue = (System.DateTime)record.GetValue(1);
string tempEndDateValue = Convert.ToString(EndDateValue);
Decimal kWHValue = (System.Decimal)record.GetValue(2);
string tempkWHValue = Convert.ToString(kWHValue);
List<string> temp = new List<string>();
List<string> temp1 = new List<string>();
List<string> temp2 = new List<string>();
List<string> temp3 = new List<string>();
//temp1.Add("StartDate");
temp.Add(tempStartDateValue);
//temp2.Add("EndDate");
temp.Add(tempEndDateValue);
//temp3.Add("KWHourValue");
temp.Add(tempkWHValue);
values.Add(temp);
}
}
return values;
}
Также была бы полезна помощь относительно того, почему я получаю ошибку версии.
НОВАЯ установка У меня были проблемы с первоначальной установкой, поэтому я разорвал ее, скачал Fitnesse снова из Source forge (20110104), сегодня скачал .Net runner от Github
и построил его сегодня. Я установил JDK yesterda, чтобы версия Java была "1.6.0_23"