我有一些基於反射的測試。反射測試在給定類型的給定程序集上工作,例如,查看service.dll中的所有基於IService的東西。我這樣做是因爲我需要將引用類型引入到TestCase歸因無法處理的測試中。該代碼基本上看起來像下面這樣:Resharper或nUnit測試計數爲反射測試
public static void TestRunnerforTypeList(Type baseType, Func<Type, string, bool> excluder, Action<Type, string> mockResolver, Dictionary<Type, Dictionary<Type, Mock>> mocks, Action<dynamic, Type> assertor, string methodName)
{
foreach (var type in GetTypesToTest(baseType))
{
if (excluder(type, methodName)) continue;
dynamic objectToTest = CreateInstance(type, mocks);
mockResolver(type, methodName);
assertor(objectToTest, type);
}
}
這個調用看起來像下面這樣:
[Test]
public void Positive_outcome_for_Get()
{
GeneralTestRunner.TestRunnerforTypeList(typeof(IService<,,>),
_serviceFactoryContext.ExcludeTypeForMethod,
_serviceFactoryContext.ResolvePositiveMockSetup,
_mocks,
(service, type) => Assert.IsNotNull(service.Get(1)),
"Get");
}
很簡單的斷言,但你的想法。這樣我得到TestCase歸屬的好處,但與參考類型,如模擬,正在管道。
但是我有其他地方,我使用TestCase attibution和Resharper拿起這些,並增加測試中的測試數量會議,反感的人不會。
我的問題是有沒有告訴Resharper(或nUnit)這個數字在每次調用上面的assertor動作時都增加了的方法?
預先感謝;)