问题描述
我创建了一个测试工程,根据类别创建了好多个cs文件,每一个cs文件都包含很多TestMethod。但是我想运行这个case之前,先做一些准备工作,把这个代码放在一个特定的TestMethod里面,运行的时候,让他第一个执行,怎么做?
解决方案
解决方案二:
右鍵你想第一個執行的工程名setasstartupproject
解决方案三:
同问。。。测试方法如何排序
解决方案四:
MSTestAttributeNUnitAttributePurpose[TestClass][TestFixture]Identifiesofagroupofunittests,allTests,andInitializations/CleanUpsmustappearafterthisdeclaration[TestMethod][Test]Indentifiesofanindividualunittest[ClassInitialize][TestFixtureSetUp]IdentifiesamethodwhichshouldbecalledasingletimepriortoexecutinganytestintheTestClass/TestFixture[ClassCleanup][TestFixtureTearDown]IdentifiesamethodintobecalledasingletimefollowingtheexecutionofthelasttestinaTestClass/TestFixture[TestInitialize][SetUp]IdentifiesamethodtobeexecutedeachtimebeforeaTestMethod/Testisexecuted[TestCleanUp][TearDown]IdentifiesamethodtobeexecutedeachtimeafteraTestMethod/Testhasexecuted
解决方案五:
楼上的方式是把所有的测试用例都放在了同一个cs文件里面,可现在的问题是有很多这样的cs文件,可怎么办?
解决方案六:
引用楼主wxcnl的回复:
我创建了一个测试工程,根据类别创建了好多个cs文件,每一个cs文件都包含很多TestMethod。但是我想运行这个case之前,先做一些准备工作,把这个代码放在一个特定的TestMethod里面,运行的时候,让他第一个执行,怎么做?
首先,就测试用例来说,不应该存在顺序问题。其次,针对你的需求,是需要做准备工作,而不是一个测试用例,微软提供了以下方法://UseClassInitializetoruncodebeforerunningthefirsttestintheclass//[ClassInitialize()]//publicstaticvoidMyClassInitialize(TestContexttestContext)//{//}////UseClassCleanuptoruncodeafteralltestsinaclasshaverun//[ClassCleanup()]//publicstaticvoidMyClassCleanup()//{//}////UseTestInitializetoruncodebeforerunningeachtest//[TestInitialize()]//publicvoidMyTestInitialize()//{//}////UseTestCleanuptoruncodeaftereachtesthasrun//[TestCleanup()]//publicvoidMyTestCleanup()//{//}