我一直在努力,希望这会帮助别人。 在使用MsTest创buildunit testing的同时,我发现我在每个testing中重复相同的代码,并且发现了几个方便的属性( TestInitialize , TestCleanup , ClassInitialize和ClassCleanup )。 假设用这些属性标记方法时,应该自动执行(每次testing之前,每次testing之后,所有testing之前,以及所有testing之后)。 令人沮丧的是,这并没有发生,我的testing失败了。 如果直接从标有TestMethod属性的类中调用这些方法,则testing成功。 很明显,他们并没有自己执行。 以下是我使用的一些示例代码: [TestInitialize()] private void Setup() { _factory = new Factory(); _factory.Start(); } 那么为什么这不是执行?
我依赖于为x64编译的混合模式程序集。 因为我不想在构build中发出警告,所以我的解决scheme中的所有项目都直接针对x64 – 它们不是任何CPU。 为了让我的x64unit testing正常工作,我发现每次启动Visual Studio时都必须手动将Visual Studiounit testing默认处理器架构更改为x64。 这很简单,但是很乏味。 有没有办法让VS坚持这个设置,这样我就不必每次都这么做了?
ClassInitialize中TestInitialize与ClassInitialize什么区别? 每个人的利弊是什么? 我觉得TestInitialze应该TestInitialze都运行EACHtesting吗? 那是对的吗? 那ClassInitialize会每次运行任何一个类的新实例吗?