是否可以使用MSTest进行上下文/规范测试?

时间:2011-01-25 20:30:06

标签: unit-testing visual-studio-2010 mstest

我对测试框架有点新意,我一直在阅读Moq,this introductory帖子使用了一种组织我以前没见过的测试方式。进一步的研究表明,我们在.Net世界中倾向于融合术语BDD和上下文/规范(CS)测试。我不想进入那个论点 - 我主要对实现这种编写测试类的方式感兴趣。

This article再次显示了该方法,并明确使用了一个基类,允许我们通过测试框架构建我们的规范。

我遇到的这个问题是我无法在MSTest下看到一个实例方法,它允许每个测试只对一个测试夹具进行一次初始化。我能看到的最好的是测试类的构造函数,但感觉有点不对劲。在NUnit中,可以使用[TestFixtureSetup]。是否有使用Visual Studio内置测试框架的等效项?

修改 我随后转移到了NUnit,它提供了我需要的灵活性。

2 个答案:

答案 0 :(得分:2)

经过一番调查后,我转而使用NUnit。优先考虑NUnit而不是MSTest有几个原因,但就这一特定问题而言,令人信服的原因是MSTest支持的唯一类范围初始化方法(不会针对每个测试运行)是针对静态方法而不是我正在寻找什么。

正如Jason所指出的,[ClassInitialise]将在MSTest中提供这种静态的,类范围的初始化。实际上没有办法模仿NUnit中找到的[TextFixtureSetup]行为,以便在运行夹具中的任何测试之前运行一次实例方法。

答案 1 :(得分:1)

要为MSTest复制NUnit的[TestFixtureSetUp],请尝试[ClassInitialize]Here's我找到该信息的链接。 This是另一篇可能对您有用的博客文章。