我正在尝试将 Fitnesse 设置为运行“简单”查询,并且在运行测试时出现 javalang 错误
Slim 协议版本错误
预期为 V0.3,但为 V0.2
展开全部 | 折叠所有
例外:java.lang.ClassCastException: java.lang.String 无法在 Fitnesse.slimTables.QueryTable$QueryResults.(QueryTable. java:170) 在 Fitnesse.slimTables.QueryTable.scanRowsForMatches(QueryTable.java:84) 在 Fitnesse.slimTables.QueryTable.evaluateReturnValues(QueryTable.java:72) 在 Fitnesse.responders.run.slimResponder.SlimTestSystem.evaluateTable(SlimTestSystem.java :365) 在 Fitnesse.responders.run.slimResponder.HtmlSlimTestSystem.createHtmlResults(HtmlSlimTestSystem.java:40) 在 Fitnesse.responders.run.slimResponder 的 Fitnesse.responders.run.slimResponder.SlimTestSystem.evaluateTables(SlimTestSystem.java:360)。 SlimTestSystem.processTablesAndGetHtml(SlimTestSystem.java:280)在 Fitnesse.responders.run.slimResponder.SlimTestSystem.processAllTablesOnPage(SlimTestSystem.java:263) 在 Fitnesse.responders.run.slimResponder.SlimTestSystem.runTestsAndGenerateHtml(SlimTestSystem.java:207) 在 Fitnesse.responders.run.MultipleTestsRunner.executeTestSystemPages (MultipleTestsRunner.java:126)在fitnesse.responders.run.MultipleTestsRunner.startTestSystemAndExecutePages(MultipleTestsRunner.java:106)在fitnesse.responders.run.MultipleTestsRunner.executePagesInTestSystem(MultipleTestsRunner.java:92)在fitnesse.responders.run.MultipleTestsRunner。在 Fitnesse.responders.run.TestResponder 的 Fitnesse.responders.run.MultipleTestsRunner.executeTestPages(MultipleTestsRunner.java:56) 的 internalExecuteTestPages(MultipleTestsRunner.java:83)。在fitnesse.responders.run.TestResponder.doSending(TestResponder.java:45)在fitnesse.responders.ChunkingResponder.startSending(ChunkingResponder.java:67)在fitnesse.responders.ChunkingResponder.access $000执行(TestResponder.java:141) ChunkingResponder.java:17) at Fitnesse.responders.ChunkingResponder$RespondingRunnable.run(ChunkingResponder.java:106) at java.lang.Thread.run(Unknown Source)lang.Thread.run(未知来源)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;
}
另外,我将不胜感激为什么我会收到版本错误的帮助。新安装 我在原始安装时遇到了问题,所以我从 Source forge (20110104) 再次下载了 Fitnesse,今天从 Github 下载了 .Net 运行器并在今天构建它。我昨天安装了 JDK,所以 Java 版本是“1.6.0_23”