gpt4 book ai didi

c# - 分组相似测试 : yay or nay?

转载 作者:行者123 更新时间:2023-11-30 13:32:22 24 4
gpt4 key购买 nike

<分区>

我在某处读到每个测试只能测试一件事。但是,良好做法手册中是否允许对类似行为进行分组?我目前正在编写一些测试(C# 和 NUnit),下面是我面临的一个例子:

[TearDown]
public void Cleanup()
{
Hotkeys.UnregisterAllLocals();
Hotkeys.UnregisterAllGlobals();
}

[Test]
public void KeyOrderDoesNotMatter()
{
Hotkeys.RegisterGlobal("Ctrl+Alt+P", delegate { });
Assert.That(Hotkeys.IsRegisteredGlobal("Alt+P+Ctrl"), Is.True);
}

[Test]
public void KeyCaseDoesNotMatter()
{
Hotkeys.RegisterGlobal("Ctrl+Alt+P", delegate { });
Assert.That(Hotkeys.IsRegisteredGlobal("ctrl+alt+p"), Is.True);
}

[Test]
public void KeySpacesDoesNotMatter()
{
Hotkeys.RegisterGlobal("Ctrl+Alt+P", delegate { });
Assert.That(Hotkeys.IsRegisteredGlobal("Ctrl + Alt + P"), Is.True);
}

分组后,它们会变成:

[TearDown]
public void Cleanup()
{
Hotkeys.UnregisterAllLocals();
Hotkeys.UnregisterAllGlobals();
}

[Test]
public void KeyIsNotStrict()
{
// order
Hotkeys.RegisterGlobal("Ctrl+Alt+A", delegate { });
Assert.That(Hotkeys.IsRegisteredGlobal("Alt+A+Ctrl"), Is.True);

// whitespace
Hotkeys.RegisterGlobal("Ctrl+Alt+B", delegate { });
Assert.That(Hotkeys.IsRegisteredGlobal("Ctrl + Alt + B"), Is.True);

// case
Hotkeys.RegisterGlobal("Ctrl+Alt+C", delegate { });
Assert.That(Hotkeys.IsRegisteredGlobal("ctrl+alt+c"), Is.True);
}

那么什么是最佳实践(如果存在),为什么?

obs:我对单元测试比较陌生...

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