如何在 fitsharp 中使用可选的单元运算符
How use optional cell operators in fitsharp
FitSharp 支持可选的单元运算符
这个具体怎么用?
http://fitsharp.github.io/Fit/CompareFloatingPoint.html
我已阅读此页底部
http://fitsharp.github.io/Fit/CellOperators.html
我已经尝试将 Processor.AddOperator("fitSharp.Fit.Operators.CompareFloatingPoint");
放入我的测试方法中。
public class Division
{
public double Numerator { get; set; }
public double Denominator { get; set; }
public double Quotient()
{
Processor.AddOperator("fitSharp.Fit.Operators.CompareFloatingPoint");
return Numerator / Denominator;
}
}
我试过套件配置文件
<suiteConfig>
<Fit.Operators>
<Add>fitSharp.Fit.Operators.CompareFloatingPoint</Add>
</Fit.Operators>
</suiteConfig>
像这样包含在 Fitnesse 标记中
!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer -c C:\fit\tests\SuiteConfig.xml %p}
测试输出目前看起来像这样
.fail, span.fail * {
background-color: #FFAAAA;
}
.pass, span.pass * {
background-color: #c1e2b3;
color: #081109;
}
table {
width: 100%;
margin-bottom: 20px;
border: 1px solid #dddddd;
width: auto;
}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {
border: 1px solid #dddddd;
}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {
padding: 5px;
}
<table>
<tbody><tr>
<td colspan="3"><span class="fit_interpreter">tests.Division</span></td>
</tr>
<tr>
<td><span class="fit_member">numerator</span></td>
<td><span class="fit_member">denominator</span></td>
<td><span class="fit_member">quotient?</span></td>
</tr>
<tr>
<td>10</td>
<td>2</td>
<td class="pass">5</td>
</tr>
<tr>
<td>12.6</td>
<td>3</td>
<td class="pass">4.2</td>
</tr>
<tr>
<td>100</td>
<td>4</td>
<td class="pass">25</td>
</tr>
<tr>
<td>22</td>
<td>7</td>
<td class="fail">3.14 <span class="fit_label">expected</span><hr>3.14285714285714 <span class="fit_label">actual</span></td>
</tr>
</tbody></table>
已正确加载单元格运算符,问题是单元格运算符没有按照您希望的方式执行。 CompareFloatingPoint
运算符不使用预期值的精度 (3.14),它使用实际值的字符串表示形式的精度 (3.14285714285714)。正如您评论的那样,fitSharp 不支持 ~= 运算符,您可以在两行上使用 >= 3.14 和 < 3.15,但不太好!
FitSharp 支持可选的单元运算符
这个具体怎么用? http://fitsharp.github.io/Fit/CompareFloatingPoint.html
我已阅读此页底部 http://fitsharp.github.io/Fit/CellOperators.html
我已经尝试将 Processor.AddOperator("fitSharp.Fit.Operators.CompareFloatingPoint");
放入我的测试方法中。
public class Division
{
public double Numerator { get; set; }
public double Denominator { get; set; }
public double Quotient()
{
Processor.AddOperator("fitSharp.Fit.Operators.CompareFloatingPoint");
return Numerator / Denominator;
}
}
我试过套件配置文件
<suiteConfig>
<Fit.Operators>
<Add>fitSharp.Fit.Operators.CompareFloatingPoint</Add>
</Fit.Operators>
</suiteConfig>
像这样包含在 Fitnesse 标记中
!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer -c C:\fit\tests\SuiteConfig.xml %p}
测试输出目前看起来像这样
.fail, span.fail * {
background-color: #FFAAAA;
}
.pass, span.pass * {
background-color: #c1e2b3;
color: #081109;
}
table {
width: 100%;
margin-bottom: 20px;
border: 1px solid #dddddd;
width: auto;
}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {
border: 1px solid #dddddd;
}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {
padding: 5px;
}
<table>
<tbody><tr>
<td colspan="3"><span class="fit_interpreter">tests.Division</span></td>
</tr>
<tr>
<td><span class="fit_member">numerator</span></td>
<td><span class="fit_member">denominator</span></td>
<td><span class="fit_member">quotient?</span></td>
</tr>
<tr>
<td>10</td>
<td>2</td>
<td class="pass">5</td>
</tr>
<tr>
<td>12.6</td>
<td>3</td>
<td class="pass">4.2</td>
</tr>
<tr>
<td>100</td>
<td>4</td>
<td class="pass">25</td>
</tr>
<tr>
<td>22</td>
<td>7</td>
<td class="fail">3.14 <span class="fit_label">expected</span><hr>3.14285714285714 <span class="fit_label">actual</span></td>
</tr>
</tbody></table>
已正确加载单元格运算符,问题是单元格运算符没有按照您希望的方式执行。 CompareFloatingPoint
运算符不使用预期值的精度 (3.14),它使用实际值的字符串表示形式的精度 (3.14285714285714)。正如您评论的那样,fitSharp 不支持 ~= 运算符,您可以在两行上使用 >= 3.14 和 < 3.15,但不太好!