2014-12-04 101 views
0

我很明显缺少一些程序集或引用来完成这项工作,它可能是fluent assertions或它可能是Microsoft.Team Foundation.Warehouse。我不知道如何使用/添加作为参考(以及我相信如何安装流利的断言,它只是没有做什么!)。fluentassertion不会编译

我发现the code below online我想使用它,但它缺少一些组件,而不是说再多这里是一个屏幕截图 - 我已经安装了流利的断言库,以尝试获得一个编译(我相信“应该()“是流利声明的组成部分)

这似乎是在这两个关键字[Fact]Should()难过这是一个容易胜利的人提供一个手?

enter image description here

悬停消息称“System.Collections.Generic.List不包含定义‘应当’和没有扩展方法‘应该’接受型System.Collections.Generic.List的第一个参数可以找到(因为您错过了使用指令或程序集引用?)“

+0

我相信FactAttribute是xUnit的一部分...您使用哪种测试框架? – 2014-12-04 17:16:36

+0

在我的问题中有一个链接https://gist.github.com/ReitenSchnell/5998938 – 2014-12-04 17:17:11

+1

是的,并没有任何'使用'指令,所以我们不知道它使用的是什么测试框架。但是你应该知道你正在使用哪个测试框架,因为你应该引用它。 – 2014-12-04 17:25:02

回答

1

只需在顶部添加using FluentAssertions;语句即可。如果您不确定正确的引用,请删除任何物理实例FluentAssertions.*dll并添加相应的Nuget包。

+0

感谢dennis,答案是:PM> Install-Package xunit -Version 1.9.2',然后是'PM> Install-Package FluentAssertions',然后是'using FluentAssertions;'(**不提示输入**折射器),折射器将提示'使用Xunit;'tho ..注意:它不是我在OP中假设的“仓库”)是Xunit。 – 2014-12-08 11:19:29

+0

顺便说一句,我怎么能重写'priorityCollection.TestList.Should()。ContainInOrder' **没有** FluentAssertions?我实际上并不明白那一行是干什么的? :-s – 2014-12-08 11:22:57

+0

它完全按照它的说法:断言'TestList'中的所有项目以与它们存在于提供给'ContainInOrder'的集合中相同的顺序出现。 – 2014-12-08 15:04:31