Why does TestInitialize get fired for every test in my Visual Studio unit tests?

后端 未结 4 1653
礼貌的吻别
礼貌的吻别 2020-12-02 06:50

I\'m using Visual Studio 2010 Beta 2. I\'ve got a single [TestClass], which has a [TestInitialize], [TestCleanup] and a few [Tes

4条回答
  •  既然无缘
    2020-12-02 07:22

    Full example taken from the microsoft documentation:

    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using SampleClassLib;
    using System;
    using System.Windows.Forms;
    
    namespace TestNamespace
    {
        [TestClass()]
        public sealed class DivideClassTest
        {
            [AssemblyInitialize()]
            public static void AssemblyInit(TestContext context)
            {
                MessageBox.Show("AssemblyInit " + context.TestName);
            }
    
            [ClassInitialize()]
            public static void ClassInit(TestContext context)
            {
                MessageBox.Show("ClassInit " + context.TestName);
            }
    
            [TestInitialize()]
            public void Initialize()
            {
                MessageBox.Show("TestMethodInit");
            }
    
            [TestCleanup()]
            public void Cleanup()
            {
                MessageBox.Show("TestMethodCleanup");
            }
    
            [ClassCleanup()]
            public static void ClassCleanup()
            {
                MessageBox.Show("ClassCleanup");
            }
    
            [AssemblyCleanup()]
            public static void AssemblyCleanup()
            {
                MessageBox.Show("AssemblyCleanup");
            }
    
            [TestMethod()]
            [ExpectedException(typeof(System.DivideByZeroException))]
            public void DivideMethodTest()
            {
                DivideClass.DivideMethod(0);
            }
        }
    }
    

提交回复
热议问题