如何调试Fitnesse设置

时间:2016-04-18 22:49:24

标签: installation fitnesse fitsharp

我使用Fitnesse与Michael Sorens的CleanCodeFixtures文章, Acceptance Testing with Fitnesse
我认为代码是正确的,Fitnesse页面是正确的,这是我的设置。

概览
Michael的Fitnesse页面指的是没有" Fixture"后缀。在许多地方,这种方法很好,但在许多地方它并没有 CleanCodeFixtures.Common.Diagnostic而不是CleanCodeFixtures.Common.DiagnosticFixture。
如何调试这种情况?

详情
!path位于Fitnesse \ FitNesseRoot \ content.txt中,dll位于正确的目录中。根据ProcMon,它正在寻找dll。

!note .NET References
!path fitsharp\dbfit.dll
!path fitsharp\dbfit.sqlserver.dll
!path Fixtures\CleanCodeFixtures.dll
!path fitsharp\fit.dll

它仍然无法在dll中找到夹具。

文件Fitnesse \ FitNesseRoot \ CleanCode \ SuiteSetUp \ content.txt包含

!|CleanCodeFixtures.Common.Diagnostic|
|Begin                               |
|${PAGE_NAME}                        |

!|import                      |
|dbfit.fixture                |
|CleanCodeFixtures.Common     |
|CleanCodeFixtures.ControlFlow|
|CleanCodeFixtures.Database   |

!note This allows enabling/disabling debugging with the external command files !-EnableDebug.cmd and DisableDebug.cmd-!.
!|Debugger                   |
|Launch With External Trigger|
|                            |

它抱怨它无法找到固定装置。

  

找不到夹具:CleanCodeFixtures.Common.Diagnostic。
  找不到夹具:导入。
  找不到夹具:调试器。

在第一行之前添加此内容

!|Import |    ## note that it is case sensitive
|CleanCodeFixtures.Common.Diagnostic|

似乎工作但似乎没有改变任何事情。当它在下一个表中使用Diagnostic类时,它会得到相同的错误。

  

CleanCodeFixtures.Common.Diagnostic
  找不到夹具:CleanCodeFixtures.Common.Diagnostic。

我无法弄清楚如何找到DLL而找不到任何固定装置。

代码有一个Diagnostic类和一个DiagnosticFixture类。

namespace CleanCodeFixtures.Common
{
    public class Diagnostic

...

namespace CleanCodeFixtures.Common   
{
    public class DiagnosticFixture : ColumnFixture

更改Fitnesse页面以引用DiagnosticFixture明确有效,但没有解释为什么没有它可用于许多其他灯具。
有关如何调试这个的想法吗?

2 个答案:

答案 0 :(得分:0)

检查您的类路径设置以进行测试执行。如果使用外部依赖项,则需要使用!path语句将测试执行指向正确的位置以查找依赖项。尝试在测试页面上放置这样的东西(或层次结构中的东西):

!path /path/to/your.dll

在此之后,测试应该能够在类路径中找到夹具,但是从您发布的代码中,您似乎没有将夹具导入测试用例。要做到这一点:

!|import |
|CleanCodeFixtures.Common.Diagnostic|

如果这两个步骤无法解决,请发布完整的测试页代码。

答案 1 :(得分:0)

正在使用的术语是维基词。 "字数"会找到WordCountFixture但是" Diagnostic"找不到DiagnosticFixture。 将它变成维基词,[诊断],似乎已经解决了。

不确定为什么它适用于Micheal等人。似乎仍然是错误的解决方案。但它对我有用。我可以使用维基词或明确指定Fixture前进。