有没有一种方法可以将自定义消息添加到testing方法的结果? 我想把一个秒表的代码,看看它的运行时间。 我不需要testing它是否在特定的时间范围内运行,只是想在结果窗口中看到经过的时间。
我一直在努力,希望这会帮助别人。 在使用MsTest创buildunit testing的同时,我发现我在每个testing中重复相同的代码,并且发现了几个方便的属性( TestInitialize , TestCleanup , ClassInitialize和ClassCleanup )。 假设用这些属性标记方法时,应该自动执行(每次testing之前,每次testing之后,所有testing之前,以及所有testing之后)。 令人沮丧的是,这并没有发生,我的testing失败了。 如果直接从标有TestMethod属性的类中调用这些方法,则testing成功。 很明显,他们并没有自己执行。 以下是我使用的一些示例代码: [TestInitialize()] private void Setup() { _factory = new Factory(); _factory.Start(); } 那么为什么这不是执行?
这个问题在很多不同的论坛上有过各种forms的问题,但是,恕我直言,我还没有find一个真正回答得很清楚的地方,所以我要重新devise一下,再次提出。 我在一个基本的微软商店工作。 我们使用TFS,我们所有的开发人员都有MSDN订阅,包括VS的Team Suite版本。 所以我们有权访问MSTest。 我已经阅读了各种NUnit与MSTest的比较,开发人员社区似乎非常压倒性地selectNUnit。 但是,至less在我们的情况下,所给出的理由似乎并不令人感到压倒性的或是令人信服的。 (NUnit更新更频繁,NUnit更快,NUnit不需要TFS等) 如果我select的话,我可以使用NUnit,但是在没有正式支持的情况下使用开源软件必须得到保护。 我需要一个相当令人信服的理由来这样做。 我基本上必须回答certificate使用NUnit优先于MSTest是这样的:有没有什么我可以在NUnit中做的,我无法在MSTest中做类似的工作?
我正在使用MSTest ,我想一次为testing类中的所有方法设置相同的testing类别,而不是单独为每个方法设置TestCategory属性。 如何才能做到这一点? 最方便,最明显的方法是在类上设置TestCategory属性,但它只能应用于方法。 最终目标是在TFS签入的testing运行期间跳过集成testing。
在unit testing中检查如此之多的东西有什么不对吗? ActualModel = ActualResult.AssertViewRendered() // check 1 .ForView("Index") // check 2 .WithViewData<List<Page>>(); // check 3 CollectionAssert.AreEqual(Expected, ActualModel); // check 4 这个testing的主要目标是validation返回的正确的视图(检查2),它包含正确的数据(检查4)。 我可以通过将其分成多个testing来获得任何东西吗? 我所做的一切都是正确的,但是如果它没有实际价值,我不会分裂它。 我对unit testing很新,所以要温和。
我有一个testing的基类,它由以下几个方面组成: [TestClass] public abstract class MyBaseTest { protected static string myField = ""; [ClassInitialize] public static void ClassInitialize(TestContext context) { // static field initialization myField = "new value"; } } 现在我试图创build一个新的testing,从基地inheritance,具有以下签名: [TestClass] public class MyTest : MyBaseTest { [TestMethod] public void BaseMethod_ShouldHave_FieldInitialized() { Assert.IsTrue(myField == "new value"); } } ClassInitialize永远不会ClassInitializetesting调用…在MsTest上inheritance使用testing初始化的真正和正确的方法是什么?
我意识到在2008年之前,有许多针对NUnit v MSTest 版Visual Studio的常见问题(比如这个 )。 微软在第三个版本中有正确的事情。 对于MSTest,这是VS2010。 他们是用MSTest做的吗? 你会使用它在一个新的项目,而不是NUnit? 我的具体问题是: 速度 在CruiseControl.NET中运行testing(命令行或MSBuild任务) 来自CC.NET的代码覆盖率报告 你可以在debugging模式下运行MSTesttesting吗? (我们使用ReSharper,所以testing者对我们来说不是问题,过去几年我们使用了NUnit,我们没有TFS。)
ClassInitialize中TestInitialize与ClassInitialize什么区别? 每个人的利弊是什么? 我觉得TestInitialze应该TestInitialze都运行EACHtesting吗? 那是对的吗? 那ClassInitialize会每次运行任何一个类的新实例吗?
我知道MSTest不支持RowTest和类似的testing。 MSTests用户做什么? 如果没有RowTest支持,生活怎么样? 我已经看到DataDriventestingfunction,但听起来像太多的开销,有没有第三方补丁或工具,让我在MSTest做RowTest类似的testing?
我是unit testing新手,使用Microsoft.VisualStudio.TestTools.UnitTesting ; 0.GetType()实际上是System.RuntimeType ,所以我需要写什么样的testing来传递Assert.IsInstanceOfType(0.GetType(), typeof(int)) ? —后续,这是我自己的用户错误… Assert.IsInstanceOfType(0, typeof(int))