我试图用相同的方法但逻辑不同的方法测试一些类,所以我想创建一个通用的测试用例。我该如何实例化泛型方法?
我的例子:
[TestClass]
public class GenericTest<T : MyBuilder>
{
T target;
[TestInitialize()]
public void MyTestInitialize()
{
target = new T(param1, param2, param3, param4); // here i'm obviosly stuck
}
[TestMethod]
public void TestMethodBuilder()
{
Assert.AreEqual<string>(GetNameAsItShouldBe(),target.BuildName());
}
abstract public string GetNameAsItShouldBe();
}
那么我该如何实例化课程呢?我具有较强的Java背景知识,因此我的代码可能与c#不兼容。
对于带有参数的构造函数,必须使用反射:
public class GenericTest<T> where T : MyBuilder
{
[TestInitialize]
public void Init()
{
target = (T)Activator.CreateInstance(typeof(T), new object[] { param1, param2, param3, param4 });
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句