Click here to Skip to main content
13,549,157 members
Rate this:
Please Sign up or sign in to vote.
See more:
I'm trying to run NUNIT tests through Reflection in C#. I load the assemble and get the methods, then I want to filter out for methods only assigned the NUnit.FrameWork.TestAttribute.

I have tried this and it doesn't work:

var testTypes = from t in ltAssm.GetTypes()
                       let attributes = t.GetCustomAttributes(typeof(NUnit.Framework.TestFixtureAttribute), true)
                       where attributes != null && attributes.Length > 0
                       orderby t.Name
                       select t;
       foreach (var type in testTypes)
           //get test method in class.
           var testMethods = from m in type.GetMethods()
                             let attributes = m.GetCustomAttributes(typeof(NUnit.Framework.TestAttribute), true)
                             where attributes != null && attributes.Length > 0
                             orderby m.Name
                             select m;
           foreach (var method in testMethods)

no methods picked up even though there are 50.

Even running this simple line doesn't pick anything up:

var xx = classMethods[11].GetCustomAttributes(typeof(NUnit.Framework.TestAttribute), false);

I also tried instantiating the type and still nothing.

Those same methods have another custom attribute which I created and assigned to them, if I attempt to retrieve the methods using that Attrib, then they are retrieved.

Anyone know of something special that needs to be done for Reflection to recognize Nunit's TestAttribute?
Posted 12-Nov-12 3:13am
Sergey Alexandrovich Kryukov 12-Nov-12 13:23pm
You did not show the code sample to be tested. How can we know that you correctly applied the test attributes to the test classes and test methods?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web02-2016 | 2.8.180515.1 | Last Updated 12 Nov 2012
Copyright © CodeProject, 1999-2018
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100