gpt4 book ai didi

c# - 我应该明确断言计数还是结果?

转载 作者:太空狗 更新时间:2023-10-30 00:40:52 26 4
gpt4 key购买 nike

[Test]
public void SimpleFlatten()
{
// arrange
var sentences = new List<string> { "Hello World", "Goodbye World" };

// act
var result = sentences.SelectMany(n => n.Split(' '));

// assert
Assert.That(result.Count(), Is.EqualTo(4));
}

您认为在这里测试结果的计数是否足够?

从逻辑上考虑这个问题后,我觉得检查计数应该就足够了,因为我没有理由怀疑 SelectMany 方法将永远返回正确的数字,除非该方法正常工作。

不过,我是 TDD 的新手,想知道像这样明确说明是否是更好的做法?

CollectionAssert.AreEquivalent(
new[] { "Hello", "World", "Goodbye", "World" }, result);

最佳答案

尝试将自己置于 6 个月后阅读此测试的人的位置。哪个测试携带的信息更多?

Given collection of two sentences, "Hello World" and "Goodbye World"

  1. 简单的扁平化返回 4 个单词的集合
  2. 简单的扁平化返回“Hello”、“World”、“Goodbye”、“World”

哪个更能告诉您方法的目的或方法的作用?从 TDD 的角度来看,您应该更愿意进行不那么模糊的测试,在本例中是第二个测试。

关于c# - 我应该明确断言计数还是结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24240080/

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