Fitnesse .Net Java Lang error - PullRequest
       16

Fitnesse .Net Java Lang error

1 голос
/ 15 февраля 2011

Я пытаюсь настроить 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"

1 Ответ

1 голос
/ 15 февраля 2011

Таблица запросов Slim ожидает список списков списков.См http://fitnesse.org/FitNesse.UserGuide.SliM.QueryTable и http://github.com/jediwhale/fitsharp/blob/master/source/Samples/SlimSamples.cs

...