我已经使用Fitnesse.NET一段时间了,现在我正在尝试升级到更新的fitSharp引擎.我立刻遇到了障碍.从一个新系统开始,我下载了最新的fitnesse.jar并执行/安装它; 我的所有测试页面都在浏览器中显示正常.
当我将fitSharp的配置添加到根页面时,会出现此问题.我尝试了各种设置TEST_RUNNER和COMMAND_PATTERN的组合; 最终结果始终是,在执行任何测试时,fitnesse服务器从未将结果返回给我的浏览器.这里的参考是我的根内容,确认这些变量定义存在且正确,至少根据fitSharp 配置页面:
variable defined: TEST_RUNNER=fitSharp\RunnerW.exe
variable defined: COMMAND_PATTERN=%m -r fitnesse.fitserver.FitServer,fitSharp\fit.dll %p
Run Code Online (Sandbox Code Playgroud)
我终于找到一个故障排除说明,提到RunnerW提供了一些诊断信息,所以我切换到它并收到此错误消息,表明它显然是由于.NET 4引起的问题:
无法加载文件或程序集'file:/// C:\ fitnesse\fitSharp\fit.dll'或其依赖项之一.不支持操作.(来自HRESULT的异常:0x80131515)文件名:'file:/// c:\ fitnesse\fitsharp\fit.dll'---> System.NotSupportedException:尝试从网络位置加载程序集导致程序集在以前版本的.NET Framework中被沙箱化.此版本的.NET Framework默认情况下不启用CAS策略,因此此负载可能很危险.如果此负载不是用于沙盒装配,请启用loadFromRemoteSources开关.有关 详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=155569.
引用的MSDN页面说我在配置文件中需要这个:
<configuration>
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)
所以看起来我有三种可能性.在那儿:
建议将不胜感激!
2010.01.17编辑:我在我的环境中使用的是fit协议而不是slim协议.
我们使用Fitnesse [FitSharp],我们需要一个单一的拟合测试,它将调用和运行跨多个套件的单个测试.
我知道我们可以将它放在批处理文件中并从那里运行单独的测试
C:\ Fitnesse\dotnet4\Runner.exe -r fitnesse.fitserver.TestRunner,C:\ fitnesse\dotnet4\fit.dll localhost 8090 Suite1.Level2.PartialUpdateTest
C:\ Fitnesse\dotnet4\Runner.exe -r fitnesse.fitserver.TestRunner,C:\ fitnesse\dotnet4\fit.dll localhost 8090 Suite1.Level1.FullUpdateTest
等等
但是更愿意在适合的测试环境中保持这种配置
我们想到的是单一的Fit Test [回归套件],它将作为其他适合性测试的容器.[如果你愿意,可以使用Fit Test书签的容器]
本地主机:8090\Regression.RunAllFastCoreTestsAcrossAllSuites.
我们不想沿着现有套件中创建单个测试副本的路线走下去,也不想对现有套件结构进行重组.随着新测试的开发,回归套件可能会定期更新.
有什么想法吗?
提前致谢,
利亚姆