我对测试类有以下定义。
[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 使用的类型?