我应该为每个功能/方法编写多少单元测试?

and*_*ykx 23 unit-testing

您是否为每个功能/方法编写一个测试,在测试中进行多次检查,或者对每个检查进行测试?

mar*_*ira 36

每个检查一次测试和超级描述性名称,每个实例:

@Test
public void userCannotVoteDownWhenScoreIsLessThanOneHundred() {
 ...
}
Run Code Online (Sandbox Code Playgroud)

当测试失败时,只有一个断言和使用好名称会给我一个更好的报告.他们对我尖叫:"你打破了这条规则!".


Jus*_*ier 5

BDD(行为驱动开发)

虽然我还在学习,但基本上 TDD 是围绕着你的软件将如何实际使用而组织/关注的……而不是它将如何开发/构建。

维基百科 一般信息

顺便说一句,至于是否对每个测试方法进行多个断言,我建议两种方式都尝试。有时您会看到一种策略让您陷入困境,并且您会开始理解为什么通常每个方法只使用一个断言。


phi*_*ant 5

我每测试能力的功能是提供。但是,每个测试可能有几个断言。测试用例的名称表示正在测试的功能。

通常,对于一项功能,我会进行几次“晴天”测试以及一个或几个“雨天”场景,具体取决于其功能。