nunit-core team mailing list archive
-
nunit-core team
-
Mailing list archive
-
Message #01495
[Bug 701331] [NEW] TestFixture attributes on base classes are not ignored
Public bug reported:
Using Nunit 2.5.9 GUI Runner & 2.5.9 framework.
TestFixutre attributes on derived classes should replace any declared on
superclasses, which is what is described in the documentation:
http://nunit.org/index.php?p=testFixture&r=2.5.9
----------------------------------------------------------------
Inheritance
The TestFixtureAttribute may be applied to a base class and is inherited
by any derived classes. This includes any abstract base class, so the
well-known Abstract Fixture pattern may be implemented if desired.
In order to facilitate use of generic and/or parameterized classes, where the derived class may require a different number of arguments (or type arguments) from the base class, any TestFixture attribute on a derived class causes those on the base classes to be ignored. This allows use of code like the following:
-----------------------------------------------------------------
Example:
-------------------------------------------------------------
[TestFixture(typeof(TagClassDefault))]
public abstract class AbstractBase<T>
{
[Test]
public void TestMethod()
{
}
}
[TestFixture(typeof(TagClassCustom))]
public class ConcreteClass<T> : AbstractBase<T>
{
}
public class TagClassDefault
{
}
public class TagClassCustom
{
}
-----------------------------------
Expected Behaviour:
ConcreteClass is constructed with the TagClassCustom type parameter only
Actual Behaviour:
ConcreateClass is constructed twice, once with TagClassCustom, the other with TagClassDefault
** Affects: nunitv2
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of NUnit
Developers, which is subscribed to NUnit V2.
https://bugs.launchpad.net/bugs/701331
Title:
TestFixture attributes on base classes are not ignored
Status in NUnit V2 Test Framework:
New
Bug description:
Using Nunit 2.5.9 GUI Runner & 2.5.9 framework.
TestFixutre attributes on derived classes should replace any declared on superclasses, which is what is described in the documentation:
http://nunit.org/index.php?p=testFixture&r=2.5.9
----------------------------------------------------------------
Inheritance
The TestFixtureAttribute may be applied to a base class and is inherited by any derived classes. This includes any abstract base class, so the well-known Abstract Fixture pattern may be implemented if desired.
In order to facilitate use of generic and/or parameterized classes, where the derived class may require a different number of arguments (or type arguments) from the base class, any TestFixture attribute on a derived class causes those on the base classes to be ignored. This allows use of code like the following:
-----------------------------------------------------------------
Example:
-------------------------------------------------------------
[TestFixture(typeof(TagClassDefault))]
public abstract class AbstractBase<T>
{
[Test]
public void TestMethod()
{
}
}
[TestFixture(typeof(TagClassCustom))]
public class ConcreteClass<T> : AbstractBase<T>
{
}
public class TagClassDefault
{
}
public class TagClassCustom
{
}
-----------------------------------
Expected Behaviour:
ConcreteClass is constructed with the TagClassCustom type parameter only
Actual Behaviour:
ConcreateClass is constructed twice, once with TagClassCustom, the other with TagClassDefault
Follow ups
-
[Bug 701331] Re: TestFixture attributes on base classes are not ignored
From: Charlie Poole, 2011-08-27
-
[Bug 701331] Re: TestFixture attributes on base classes are not ignored
From: Charlie Poole, 2011-06-12
-
[Bug 701331] Re: TestFixture attributes on base classes are not ignored
From: Charlie Poole, 2011-03-15
-
[Bug 701331] Re: TestFixture attributes on base classes are not ignored
From: Charlie Poole, 2011-03-14
-
[Bug 701331] Re: TestFixture attributes on base classes are not ignored
From: Charlie Poole, 2011-03-13
-
[Bug 701331] Re: TestFixture attributes on base classes are not ignored
From: Charlie Poole, 2011-03-12
-
[Bug 701331] Re: TestFixture attributes on base classes are not ignored
From: Isaac Devine, 2011-01-11
-
Re: [Bug 701331] [NEW] TestFixture attributes on base classes are not ignored
From: Charlie Poole, 2011-01-11
-
[Bug 701331] Re: TestFixture attributes on base classes are not ignored
From: Isaac Devine, 2011-01-11
-
[Bug 701331] [NEW] TestFixture attributes on base classes are not ignored
From: Isaac Devine, 2011-01-11
References