使用Arrange-Act-Assert进行单元测试时,是否建议使用标题注释?

Lea*_*yes 13 c# unit-testing arrange-act-assert

我发现在AAA模式中建议的分区单元测试语句的概念很有用.

我倾向于添加标题注释,以便测试看起来像这样:

// Arrange
int a = 1;
int b = 2;

// Act
int c = a + b;

// Assert
Assert.AreEqual(3, c);
Run Code Online (Sandbox Code Playgroud)

但我很好奇,总是包含这些标题评论是否正常?

......或者这是我应该避免的吗?

int a = 1;
int b = 2;

int c = a + b;

Assert.AreEqual(3, c);
Run Code Online (Sandbox Code Playgroud)

bri*_*ght 7

一旦理解了基本前提,这似乎并没有增加太多价值.既然你提到了C#,我建议你看一下单元测试的艺术.正确地命名单元测试比在其中安排/执行/断言注释更重要.正如本书指出的那样,当测试失败时,如果它被命名为好,你通常可以直接推断出回归的原因,如果你知道最近做了什么改变的话.


b15*_*b15 6

我从这样做中获得了很多价值。它(对我来说)看起来更干净,可以立即清楚测试的哪些部分在做什么,并且在某种程度上强制执行了模式。所以不,我认为你不需要避免它。

如果您的测试变得非常复杂,那是一个单独的问题。即使是六行测试也可以从这些评论中受益。如果您没有断言部分,因为您正在检查是否抛出了异常,那么显然不要包含assert注释。

我总是很感激我正在审查的代码中的那些,特别是对于集成测试。我觉得它可以节省我的时间。