我有以下结构的ac#解决scheme: mySolution myProject myProject.MSTests References Microsoft.VisualStudio.QualityTools.UnitTestFramework sutMSTests.cs sutMSTests.cs: [TestClass()] public class sutMSTests { [TestMethod] public void MyTest0() { Microsoft.VisualStudio.TestTools.UnitTesting.Assert.AreEqual(4, 2 + 2); } } 当我尝试通过testing,运行,在解决scheme中的所有testing来运行testing时,我在VS2008状态行上得到以下内容: 没有testing运行,因为没有加载testing或select的testing被禁用。 testing,Windows,testing视图显示没有testing。 注意:我手动创build了testing(适用于xUnit.net),而不是使用微软的向导。 我已经比较了我的手创build的MSTest安装程序和我使用向导生成的另一个testing, 他们似乎是非常相似。 问题:上面的错误信息最可能的原因是什么? 编辑2010-02-25:更多信息: 我右键单击Solution Items文件夹,然后selectAdd,New Project,键入Test Projects,Test Documents :: Visual Studio Test Project模板。 新项目的默认值不做任何testing“TestMethod1”被检测并通过。 但是,我的testing没有显示出来…所以我复制和粘贴我的testing方法到默认的testing项目“TestProject1”。 我的testing在“TestProject”中被检测到,但不在其原始位置。 我仔细比较了“TestProject1”的文件,组织和设置与我手工创build的testing项目。 在这一点上,我猜测一些设置是由Visual Studio Test Project模板创build的,而这个模板不容易检测到。 imo,创build一个testing项目就像使用Visual Studio Test Project模板创buildtesting项目一样简单。 请注意:我并不是说我反对使用Visual […]
NUnit有一个名为Values的function,如下所示: [Test] public void MyTest( [Values(1,2,3)] int x, [Values("A","B")] string s) { // … } 这意味着testing方法将运行6次: MyTest(1, "A") MyTest(1, "B") MyTest(2, "A") MyTest(2, "B") MyTest(3, "A") MyTest(3, "B") 我们现在正在使用MSTest,是否有这样的等价物,以便我可以使用多个参数运行相同的testing? [TestMethod] public void Mytest() { // … }