2013-03-06 110 views

回答

0

我同意 - 所有三个都很好。它可能没有达到要求,但很难找到好的Mocking Framework,因为模拟DbContext类并不容易(尤其是当您使用Sql Server时)。如果你使用它,我可以推荐TypeMock,否则RhinoMocks会很好。

+0

你能解释一下你在谈论模拟DbContext时的意思吗? – 2013-03-06 20:19:56

+0

你是什么意思DbContext不容易嘲笑使用Sql Server特别是?基于我所知道的,你可以模拟DbContext,所以你不会碰到实际的数据库,这意味着你可以在没有数据库的情况下进行测试。 – 2014-01-26 13:14:48

0

我建议xUnit。这是一个非常现代的单元测试框架,非常简单和简洁。我最喜欢xUnit的特性是每个测试方法都有一个对象实例,这意味着你不太可能让测试互相影响。 NUnit例如没有这个功能,这很容易导致片状测试。此外,xUnit使用标准.NET功能来执行安装和拆卸等操作。它通过构造函数和析构函数来实现,所以你不必学习新的约定,但可以使用自己的约定。最后,xUnit测试类看起来好多了恕我直言,因为使用的属性较少,断言方法较短。

0

你提到的所有三个都是非常扎实的,将完成工作。我个人更喜欢MSTest。学习和使用简单,但它具有体面的功能。就像xUnit一样,它也可以在预执行和执行测试后设置[TestInitialize]和Clean [TestCleanup]。我的建议是采取一个并学习它。一旦你了解了它并且了解它的长处和短处,你就可以转向另一个能够帮助你更快和/或更好地完成工作的工作。

1

我只会建议不要使用MSTest。

在我目前的项目中,我们使用了MSTest约一年。我一直在使用NUnit多年,但其他人对于单元测试是新手,为了让它们更简单(不将第三方测试框架与它的跑步者结合在一起),我们使用了MSTest,并将它集成到VS.这是PITA!

随着MSTEST,你必须保存所有VS测试的列表。你必须维护这个列表(添加/删除新的/删除的测试)。测试从这个列表中消失,你不能说为什么。保持此列表的文件不合并!因此,当您在添加新测试的同时另一个人添加测试时,您必须解决冲突。我不明白为什么。它应该合并没有问题。

你也可以找一些为什么不使用MSTEST的原因。

Why I'm migrating from MSTest to xUnit.net by Mark Seemann