c# – NUnit不服从属性继承
发布时间:2020-12-15 17:49:41 所属栏目:百科 来源:网络整理
导读:我有一个NUnit的问题 – 想知道是否有任何想法. 我们使用的是NUnit 2.5.3.9345和C#3.5. 采取以下代码: public class UnitTestBase{ [TestFixtureSetUp] public void SetUpTestFixture() { //Do something in base }}[TestFixture]public class SomeTestClas
我有一个NUnit的问题 – 想知道是否有任何想法.
我们使用的是NUnit 2.5.3.9345和C#3.5. 采取以下代码: public class UnitTestBase { [TestFixtureSetUp] public void SetUpTestFixture() { //Do something in base } } [TestFixture] public class SomeTestClass : UnitTestBase { [TestFixtureSetUp] public void FixtureSetUp() { //Do something in test class } [Test] public void SomeTest() { //Some assertion } } 根据documentation,如果我运行SomeTestClass.SomeTest(),UnitTestBase.SetUpTestFixture()应该在SomeTestClass.FixtureSetUp()之前调用. 不是这样 – 只有在派生类中不提供[TestFixtureSetUp]方法时,才会调用基本方法. 有什么想法吗?有我真的困惑! 谢谢. 解决方法
我没有问题.我用以下内容测试了结果:
衍生测试 [TestFixture] public class DerivedTest : TestBase { [TestFixtureSetUp] public void FixtureSetup() { File.AppendAllText("Out.txt",string.Format("TestFixtureSetUp From DerivedTest{0}",Environment.NewLine)); } [TestFixtureTearDown] public void FixtureTearDown() { File.AppendAllText("Out.txt",string.Format("TestFixtureTearDown Down From DerivedTest{0}",Environment.NewLine)); } [SetUp] public void Setup() { File.AppendAllText("Out.txt",string.Format("Setup From DerivedTest{0}",Environment.NewLine)); } [TearDown] public void Down() { File.AppendAllText("Out.txt",string.Format("TearDown From DerivedTest{0}",Environment.NewLine)); } [Test] public void DoATest() { File.AppendAllText("Out.txt",string.Format("Did a Test{0}",Environment.NewLine)); } } TestBase public class TestBase { [TestFixtureSetUp] public void BaseTestFixtureSetUp() { File.AppendAllText("Out.txt",string.Format("TestFixtureSetUp From TestBase{0}",Environment.NewLine)); } [TestFixtureTearDown] public void BaseTestFixtureTearDown() { File.AppendAllText("Out.txt",string.Format("TestFixtureTearDown From TestBase{0}",Environment.NewLine)); } [SetUp] public void BaseSetup() { File.AppendAllText("Out.txt",string.Format("Setup From TestBase{0}",Environment.NewLine)); } [TearDown] public void TearDown() { File.AppendAllText("Out.txt",string.Format("TearDown From TestBase{0}",Environment.NewLine)); } } 这产生以下输出: TestFixtureSetUp From TestBase TestFixtureSetUp From DerivedTest Setup From TestBase Setup From DerivedTest Did a Test TearDown From DerivedTest TearDown From TestBase TestFixtureTearDown Down From DerivedTest TestFixtureTearDown From TestBase 我能够使用ReSharper 5 beta和Nunit GUI v 2.5.3.9345(32位)测试输出 编辑在工作中,ReSharper 4.5中的测试运行程序无法正常运行,但是使用相应的NUnit.exe / NUnit-86.exe在x86和x64中运行内置测试项目可以生成有效的输出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |