FitClient:在建立连接之前终止外部进程

时间:2016-03-29 15:07:17

标签: fitnesse fitsharp

在执行简单的Fitnesse测试时,我收到错误:

  

" FitClient:外部进程在连接之前终止   。建立"

在Fitnesse服务器上,错误是:

  

"软件导致连接中止套接字写入错误"

.Net版本使用 - 4.0

页面上的内容:

!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer, dotnet2\fit.dll %p}
!define TEST_RUNNER {dotnet2\Runner.exe}

有没有人遇到过这个问题,也有人可以告诉我如何解决这个问题

错误

  

System.ArgumentException:String的长度不能为零。在   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String   codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,   StackCrawlMark&安培; stackMark,IntPtr pPrivHostBinder,Boolean   throwOnFileNotFound,Boolean forIntrospection,Boolean   suppressSecurityChecks)at   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(的AssemblyName   assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,   StackCrawlMark&安培; stackMark,IntPtr pPrivHostBinder,Boolean   throwOnFileNotFound,Boolean forIntrospection,Boolean   suppressSecurityChecks)at   System.Reflection.RuntimeAssembly.InternalLoadFrom(字符串   assemblyFile,Evidence securityEvidence,Byte [] hashValue,   AssemblyHashAlgorithm hashAlgorithm,Boolean forIntrospection,Boolean   suppressSecurityChecks,StackCrawlMark& stackMark)at   System.Reflection.Assembly.LoadFrom(String assemblyFile)at   fitSharp.Machine.Engine.CurrentDomain.LoadAssembly(字符串   assemblyPath)at   fitSharp.Machine.Engine.ApplicationUnderTest.Assemblies.AddAssembly(字符串   assemblyName)at fitSharp.Machine.Application.Shell.Execute()at   fitSharp.Machine.Application.Shell.Run(IList`1 commandLineArguments)

3 个答案:

答案 0 :(得分:1)

我已经得到了同样的消息用于绝对的琐事测试:

!path lib/*.jar

我是第一次运行DbFit。

我通过在-bat文件中包括-v来打开详细日志记录,如下所示:

java -cp "lib\dbfit-docs-3.2.0.jar;lib\fitnesse-20150424-standalone.jar" fitnesseMain.FitNesseMain -v %*

,并注意到.jar文件的Starting Process参数列表中的第3个参数中显示的路径中有空格。这导致对fitnesse的初始调用失败,从而导致错误消息。

我通过将DbFit安装移动到没有空格的文件夹来解决此问题:C:\ dbfit。这样就解决了问题。

现在进入下一期...

希望能帮助某人。

答案 1 :(得分:0)

删除以逗号后的空格:

-r fitnesse.fitserver.FitServer, dotnet2\fit.dll

实际上,使用最新版本的fitSharp,您无需指定fit.dll。你可以使用:

-r fitnesse.fitserver.FitServer

答案 2 :(得分:0)

我将一个app.config文件添加到FitNesse runner.exe,一切开始正常工作。

  1. 转到安装了Runner.exe的目录
  2. 添加名为runner.exe.config的文本(配置)文件
  3. 向其中添加以下xml,以便当Runner.exe启动时,将允许其加载fit.dll。

    <配置>    <运行时>           

再次运行测试,它们应该可以工作。

编辑-刚注意到,如果要运行调试版本(runnerw.exe),您还需要添加一个名为runnerw.exe.config的配置文件(与上面的xml相同)。

在以下位置找到了配置详细信息:https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/dd409252(v=vs.100)