在调试模式下运行Fitnesse

时间:2011-09-16 22:46:16

标签: fitnesse

我以前每天使用Fitnesse,但忘记了如何在调试模式下运行测试(或输出堆栈跟踪信息) - 有人知道吗?

我记得能够在运行/启动fitnesse.jar时将其配置为标志,或者将其配置为URL参数(例如http://localhost:8090/FitLibraryWeb.MyTest?test&debug=true

5 个答案:

答案 0 :(得分:3)

要调试.Net中的灯具,我通常在我的C#灯具代码中添加Debugger.Break()

答案 1 :(得分:0)

我暂时没有这么做,但FitNesse附带的当前文档表明你很接近。您应该使用 remote_debug 而不是调试

最好的方法是从您的FitNesse副本附带的文档开始,因为它与您正在运行的文档相匹配。如果您在端口8080上运行,则以下链接应该有效:http://localhost:8080/FitNesse.UserGuide.DebugingFixtureCode

假设您使用的是Java,这些说明应该有所帮助。如果您使用的是其他语言,我不确定是否可以提供帮助。

答案 2 :(得分:0)

您考虑使用 RunnerW.exe 而不是Runner.exe。

如果您将测试运行器更改为RunnerW,则会出现一个弹出窗口,其上带有“go”按钮,并且在您点击它之前不会启动fitnesse测试。

在点击之前你可以附加到任何进程(如果使用VS,通过调试菜单中的'Attach To Process'),执行将在设置的断点处暂停。

注意:FitNesse必须使用与您正在调试的代码相同的版本。

您还可以使用远程调试器附加到远程进程。

此外,如果您附加RunnerW.exe进程,则可以自行调试fixture。

答案 3 :(得分:0)

虽然Rustin's DebugBreak() suggestion已经指出了我的首选开发解决方案,但备用解决方案是调用 RunnerW.exe ,这需要将以下行添加到目标Fitnesse测试页< / p>

[[Press me to start in remote debug mode][?responder=test&remote_debug=true]]

请记住,我假设您的测试页已定义指向 RunnerW.exe REMOTE_DEBUG_RUNNER ,如Fitnesse guide's Customizing Test Execution section中所述

为简单起见,我将提供一个样本拟合测试标题。

所以,这里是如何使用Visual Studio进行远程调试

  1. 确保您的fitnesse测试页面以以下行开头
  2. !define TEST_RUNNER {FitSharp\Runner.exe}
    
    !define REMOTE_DEBUG_RUNNER {FitSharp\RunnerW.exe}
    
    [[Press me to start in remote debug mode][?responder=test&remote_debug=true]]
    
    The rest of your test specification goes here
    
    1. Visual Studio 中,设置目标代码断点
    2. 在适合测试页面上,单击上面定义的按我以远程调试模式启动。这将启动 RunnerW.exe 进程(名为 Fitsharp 的winform应用程序),该进程将等待30秒(我不确定)。
    3. Visual Studio &gt;中调试菜单&gt; 附加到流程,找到 RunnerW.exe ,然后按附加按钮。
    4. Fitsharp 窗口( RunnerW.exe 进程)中,点击开始按钮,即可开始使用。
    5. 作为实际解决方案,我使用以下策略:

      1. 我创建名为 SetupEngine 的静态页面,并添加上一步骤1中所述的3行。
      2. 在每个测试页面的顶部,我只是添加以下标题,所以我不必重复这3行。
      3.   

        !include .SetupEngine

        请注意 .SetupEngine (这是一个路径)上的(点)是指您的Fitnesse根页。你可能需要调整它。

        当我提到Fitnesse.UserGuide's remote debug section

        时,我有这种想法

        希望有所帮助

答案 4 :(得分:0)

在测试目标位置

之前添加以下行
!|debug|

有关详细信息,请参阅Michael Sorens' excelent article,这是关于Fitnesse调试技术的最全面的文章。