gpt4 book ai didi

.net - 运行套件时,带有.NET的Fitnesse神秘地卡住了

转载 作者:行者123 更新时间:2023-12-01 05:44:22 24 4
gpt4 key购买 nike

(我当然可以说这是“神秘的”,因为我无法确定问题所在。我希望这对你们其中一位博学的读者来说是显而易见的,并且可以启发我:-)

在我的浏览器(FireFox或IE)中运行单个fitnesse测试效果很好,但是当我运行一组测试或一组套件时,Fitnesse在开始后不久就停止了。它从不报告测试完成;它只是挂了。

我在Windows XP上针对.NET 3.5代码库运行Fitnesse。我首先通过诊断代码对fitnesse测试和fitnesse固定装置进行攻击来解决该问题,以尝试确定它是否确实锁定了固定装置或(更可能是)固定装置访问了我的代码库。因此,我创建了一些诊断例程,这些例程会写入日志文件,以告诉我何时进入和离开每个健身器材。如果日志文件最后报告了一个“输入”,它指出卡在了代码库中;如果日志最后报告指向健身的“离开”。诊断非常简单,需要手动安装每个夹具-请遵守以下框架代码中的Diagnostic.EnterDiagnostic.Leave方法。 (Leave方法的参数使我可以看到异常的文本,如果发生的话。)

public class AddFoobarEntityFixture : ColumnFixture
{
public bool Ok()
{
Diagnostic.Enter();
string exitMessage = null;
try
{
. . .
}
catch (Exception exc)
{
exitMessage = exc.Message;
return false;
}
finally
{
Diagnostic.Leave(exitMessage);
}
return true;
}
}


在针对同一测试套件进行了一系列试验之后,我注意到了一些令人惊讶的发现:


从浏览器运行,fitnesse输出落后于测试进度,并且(在这种锁定情况下)从不赶上。也就是说,在浏览器中,我看到的任何地方都可以执行一个到十几个测试表。另一方面,该日志文件显示了多达35个相同执行的测试表。我怀疑这种滞后与锁定无关,因为网页在锁定发生之前很久就已停止更新,日志文件继续报告正在执行的测试表。
锁定发生在随机位置。我下面的粗略条形图显示了几乎十二个试验(每行一个),水平轴上有时间(或测试表的数量)。每个“ X”代表一个已处理的测试表。

1> XXXXXXXXXXXXXXXXXXXXXXX
2> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
3> XXXXXXXXXXXXXXXXXXXXXX
4> XXXXXXXXXXXXXXXXXXXXXXX
5> XXXXXXXXXXXXXXXXXXXXXXXX
6> XXXXXXXXXXXXXXXXXXXXXXX
7> XXXXXXXXXXXXXXXXXXXXXXX
8> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9> XXXXXXXXXXXXXXXXXXXXXXXX
A> XXXXXXXXXXXXXXXXXXXXXXXX
B> XXXXXXXXXXXXXXXXXXXXXXXX
无一例外,每个Enter都由日志中的请假平衡。这表明问题出在适应性方面,而不是测试中的代码。但是,它确实依赖于两个重要的假设:首先,每个测试夹具都经过检测,其次,在每个已检测的测试夹具中,只有琐碎的代码在Enter-Leave括号之外(例如,诸如return语句仅返回局部值或具有简单或没有初始化值的变量声明)。我尚未完全审查这两个假设,但我认为它们将被证明是可以的。


我希望fitnesse提供自己的日志记录,以便例如可以看到是继承了哪个SetUp或SuiteSetUp,何时处理了包含文件,正在运行哪个测试表等。但是,从我所看到的来看,唯一的日志记录功能不幸的是,fitnesse报告了整个测试页的粒度。

奇怪的是,我自己的网络搜索绝对没有提及其他使用fitnesse遇到此问题的人,当然,这强烈暗示了问题出在我的代码库中。

隔离此问题的任何建议(无论是在fitnesse中还是在我的代码库中)都将受到赞赏!



2010.07.15更新

奇怪的是,我认为我已经解决了这个问题。通过将fitnesse使用的端口从(我认为是)默认的8080更改为不太受欢迎的端口号,现在我可以毫无问题地运行测试套件或套件。我确实检查了端口8080(使用TCPView)上是否没有其他运行。因此,有人对为什么这会有什么不同有任何想法吗?

最佳答案

我知道这是一个老问题,但我想为以后的观众添加这个问题。

我们在运行套件时遇到问题,事实证明它是新安装的趋势科技杀毒软件(或称为“无忧企业安全”)。

该套件的一部分就是“ URL过滤”功能。

你有类似的跑步吗?

关于.net - 运行套件时,带有.NET的Fitnesse神秘地卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3224870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com