Having not written a unit testing framework before, it seems to me that an inheritable Fact attribute would make it easier to write abstract test classes or test interfaces if certain types in an assembly all needed to be tested for similar things.
Is there a design reason that Fact isn't inheritable? I think other test frameworks (NUnit, MSTest, MbUnit, etc) that use attributes to identify test methods are similarly designed. What am I missing?
Here's the start of what the FactAttribute for xunit (version 1.9.1.1600) looks like:
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class FactAttribute : Attribute
{
I'm trying to understand why it doesn't look like the following instead:
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class FactAttribute : Attribute
{