阅读MSTest和NUnit我无法真正决定在我的项目中使用什么.我们使用TFS 2008和VS2010.
我喜欢MSTest,因为它集成了VS2010,持续集成和代码覆盖率报告.我喜欢NUnit,因为它允许以一种漂亮,可读的方式表达复杂的断言语句.
绊倒http://alsagile.com/archive/2010/03/09/stop-the-war-between-nunit-and-mstest-make-them.aspx我问社区:是否有可能同时使用两者?
我还考虑坚持使用MSTest并使用http://fluentassertions.codeplex.com为我提供更灵活的方法来制定断言语句.这不是最好的选择吗?
Mar*_*erl 23
我个人不喜欢混合两个框架的想法,就像你所指的那篇文章中提到的那样.
在两个测试框架下运行单元测试的可能条件可能是您不希望或无法在持续集成服务器上安装Visual Studio.
只是为了澄清,MSTest不是程序集中定义的Visual Studio单元测试框架Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll.
为了能够让你的单元测试在两个框架下运行,你需要定义一个构建常量(这里NUNIT),并且在预处理器指令和命名空间别名的帮助下你最终得到一个这样的片段:
#if !NUNIT
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Category = Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute;
#else
using NUnit.Framework;
using TestInitialize = NUnit.Framework.SetUpAttribute;
using TestContext = System.Object;
using TestProperty = NUnit.Framework.PropertyAttribute;
using TestClass = NUnit.Framework.TestFixtureAttribute;
using TestMethod = NUnit.Framework.TestAttribute;
using TestCleanup = NUnit.Framework.TearDownAttribute;
#endif
Run Code Online (Sandbox Code Playgroud)
我相信我首先通过这篇MSDN杂志文章发现了这个想法.关于这个主题的另一篇有价值的博客文章将是:
对于你的上一个问题:Fluent Assertions项目似乎是一个很好的库.如果你喜欢它的流畅风格,我没有看到任何你不应该使用它的真正原因.
| 归档时间: |
|
| 查看次数: |
9413 次 |
| 最近记录: |