3

在执行一个简单的 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:字符串的长度不能为零。在 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 assemblySecurityRef, Evidence assembly , RuntimeAssembly reqAssembly, StackCrawlMark & stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean for Introspection,

4

3 回答 3

2

对于一个绝对琐碎的测试,我收到了同样的信息:

!path lib/*.jar

我是第一次运行 DbFit。

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

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

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

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

现在进入下一个问题...

希望对某人有所帮助。

于 2019-05-15T23:42:53.230 回答
1

我在 FitNesse runner.exe 中添加了一个 app.config 文件,一切都开始工作了。

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

    <configuration> <runtime> <loadFromRemoteSources enabled="true"/> </runtime> </configuration>

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

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

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

于 2019-05-23T14:50:14.627 回答
1

去掉逗号后面的空格:

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

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

-r fitnesse.fitserver.FitServer
于 2016-04-02T04:02:54.043 回答