gpt4 book ai didi

c# - 如何对 IDictionary 的实现进行单元测试

转载 作者:太空狗 更新时间:2023-10-29 23:11:59 25 4
gpt4 key购买 nike

当实现实现 IDictionary 的东西时,我应该对什么进行单元测试?

测试整个界面似乎有些矫枉过正,但那我知道什么呢?我才做了几天单元测试...

最佳答案

IDictionary 的每个公共(public)成员都应该进行测试。您还应该设置一些测试以确保您的 IDictionary 的行为与 IDictionary 的某些其他具体实现相同。事实上,您可以像这样构建大部分测试:

void Test_IDictionary_Add(IDictionary a, IDictionary b)
{
string key = "Key1", badKey = 87;
int value = 9, badValue = "Horse";

a.Add(key, value);
b.Add(key, value);

Assert.That(a.Count, Is.EqualTo(b.Count));
Assert.That(a.Contains(key), Is.EqualTo(b.Contains(key)));
Assert.That(a.ContainsKey(key), Is.EqualTo(b.ContainsKey(key)));
Assert.That(a.ContainsValue(value), Is.EqualTo(b.ContainsValue(value)));
Assert.That(a.Contains(badKey), Is.EqualTo(b.Contains(badKey)));
Assert.That(a.ContainsValue(badValue), Is.EqualTo(b.ContainsValue(badValue)));
// ... and so on and so forth
}

[Test]
void MyDictionary_Add()
{
Test_IDictionary_Add(new MyDictionary(), new Hashtable());
}

关于c# - 如何对 IDictionary 的实现进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/651948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com