在dbfit中运行.Net和SQL测试时出错

时间:2017-01-20 16:46:20

标签: c# sql-server fitnesse fitsharp dbfit

我有一个简单的C#Column fixture类,可以独立测试。 我有一个sql server表再次,独立测试很好。 如果我测试两者,首先测试SQL表,再次一切都没问题。 但是,如果我首先测试C#,那么SQL测试将失败并键入' Connect'没有在集会中找到'

所以这很好......

!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer %p}
!define TEST_RUNNER {fitsharp\Runner.exe}
!define PATH_SEPARATOR {;}

!path fitsharp/fit.dll
!path fitsharp/dbfit.sqlserver.dll

!|dbfit.SqlServerTest|
!|Connect|Data Source=localhost;integrated security=SSPI;Initial     Catalog=Test2|
!|Query| select Colour from dbo.Colour|
|Colour|
|yellow-orange|

!path Fixtures.dll

!|Fixtures.SampleDo|
|firstPart|secondPart|together?|totalLength?|
|Hello|World|Hello, World|10|
|Houston|We Have a Problem|Houston, We Have a Problem|24|

...但是只需移动Fixtures.dll测试就会失败...

!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer %p}
!define TEST_RUNNER {fitsharp\Runner.exe}
!define PATH_SEPARATOR {;}

!path Fixtures.dll

!|Fixtures.SampleDo|
|firstPart|secondPart|together?|totalLength?|
|Hello|World|Hello, World|10|
|Houston|We Have a Problem|Houston, We Have a Problem|24|

!path fitsharp/fit.dll
!path fitsharp/dbfit.sqlserver.dll

!|dbfit.SqlServerTest|
!|Connect|Data Source=localhost;integrated security=SSPI;Initial     Catalog=Test2|
!|Query| select Colour from dbo.Colour|
|Colour|
|yellow-orange|

1 个答案:

答案 0 :(得分:1)

更新:下面介绍的原始解决方案不适用于DbFit。这是一个解决方法:

在您的灯具SampleDo中,您可以包含以下内容,让SqlServerTest处理测试中的其余表格:

public override bool IsVisible { get { return false; } }

原始回答:

使用DbFit时,表

!|dbfit.SqlServerTest|

通常是测试中的第一个表,因此它成为“受测试系统”和后续表格,如

!|Connect|Data Source=localhost;integrated security=SSPI;Initial     Catalog=Test2|

被解释为在SqlServerTest上执行的方法。

如果它不是第一个表格,那么其他内容将是“正在测试的系统”,在您的情况下,SampleDo,FitNesse将在Connect上查找方法SampleDo 。要使SqlServerTest“被测系统”在测试过程中使用,请使用with关键字:

!|with|new|dbfit.SqlServerTest|