1

我刚开始使用大量现有代码开发一个新项目,但测试没有通过。我更像是一个 Nunit 人,所以我对 Xunit 的故障点不是很熟悉。

问题出在如下代码中:

fooStringProperty = readSomeFile;
//later
fooStringProperty.ShouldBe(expectedContents)

上面的代码失败并出现如下错误:

error : Position: First difference is at position 0
Expected: contentsOfFooStringProperty      
Actual:
contentsOfFooStringProperty

基本上,它以某种方式将这个换行符放在那里,我不知道怎么做。我在整个代码库中有很多这样的失败,它适用于其他人,所以我想知道这是否是一些 xunit 版本问题?

编辑:这完全是mac和windows之间的CRLF问题。问题已解决:)

4

1 回答 1

0

xUnit 似乎不太可能注入换行符。由于某些完全其他的原因,您似乎更有可能真的有流氓换行符。

我建议您通过调试代码并检查调试器中的值来诊断此问题。在断言行上设置断点,看看它是否适合您。假设它在那个时候真的破坏了,在你获取/读取/计算每个值的地方放置一个断点。基本上应用正常步骤来解决意外行为 - 忽略 xUnit 方面。

于 2011-10-21T14:18:30.080 回答