在编写一组单元测试(针对现有的遗留组件)时,我想要一种方法来关联错误代码列表(将由我模拟的服务返回)和相应错误消息列表(我的被测组件将返回)。
似乎使用 aList<Tuple<string, string>>
是定义这种关联的一种很好的简单方法。
var errorCodesAndMessages = new List<Tuple<string, string>>
{
Tuple.Create("CODE1", "Error message 1"),
Tuple.Create("CODE2", "Error message 2")
// etc...
};
然后,在我的单元测试中,我可以遍历errorCodesAndMessages
,设置我的模拟服务以返回第n 个错误代码,并断言被测组件返回第n 个错误消息。
这是很好地使用 - 还是滥用 - Tuple<>
?
编辑
回应表明,Dictionary<string, string>
在这种情况下会更好。我不得不同意。但是,如果(出于某种原因)我们需要关联三段数据(例如错误代码、用户显示的错误消息和技术错误消息)怎么办?
那么这会是一个很好的用途Tuple<>
吗?
Tuple.Create("CODE1", "User error message", "Technical error message")