0

我对测试类有以下定义。

[TestFixture(typeof(List<int>), typeof(int))]
[TestFixture(typeof(List<string>), typeof(string))]
public class SerializableListTests<TList, TValue> where TList : IList<TValue>, new()

我正在使用 NUnit 进行测试,并找到了使用上述代码为我正在测试我的泛型类的特定类型动态创建固定装置的示例。

我发现的问题是当我需要测试数据时。例如,将项目添加到列表中。我不能让我的测试添加整数,因为字符串类型测试都会失败。例如

public void Serializing_then_deserialize_returns_same_list()
{
     var xmlSerializer = new XmlSerializer(typeof(SerializableList<TList, TValue>));
     var xmlMemoryStream = new MemoryStream();

     var serializedList = new SerializableList<TList, TValue>();

     serializedList.List.Add(1);

     //Continue with deserialization and collection assert lists are equal.
}

有没有办法将测试中使用的数据链接到 TestFixture 使用的类型?

4

1 回答 1

1

我有一些不错的运气来做类似的事情,比如使用抽象类,SerializableListTests<TList, TValue>并将我的其他特定于他们自己类型的测试装置子类化。在那里,您可以让基类 testfixture 进行添加,因为它是强类型的。

于 2012-08-31T05:08:41.910 回答