gpt4 book ai didi

java - 单元测试 - 在哪里放置初始化代码?

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

我喜欢进行小型单元测试,并且只调用被测函数和断言。

但是我很困惑初始化代码应该放在哪里?有很多变量,例如请求/响应对象和单元测试使用的其他变量。有几种方法可以初始化它们。

  1. 在测试本身内部初始化它们,但这会导致测试变得庞大
  2. 有一个包含初始化内容的 setUp() 或initialize(),这会导致私有(private)类变量的数量,但似乎比其他 2 个更好,因为所有初始化代码都在一个地方。
  3. 使用私有(private)方法来执行此操作,会产生大量私有(private)方法,有时 1 个测试需要 2-3 个私有(private)方法。

谁能指出哪种方法更好?另外,如果能引用一些关于这方面的好文章,我们将不胜感激。

最佳答案

Have a setUp() or initialize() which has the initialization stuff, this results in number of private class variables, but seems better than other 2 since all the initialization code is in one place.

您应该将初始化代码放在使用 @Before 和 @BeforeClass 注释的方法中。使用这种约定,其他开发人员都不会感到惊讶,并且会很快找到他想要的东西。请注意,这并不意味着您不应在 JUnit 测试中创建私有(private)方法。当您的 setup() 方法最终变得很大时,您可能会考虑将其按代码的逻辑部分拆分为私有(private)方法。

我找到了this site对于简要描述 JUnit 中的良好实践很有帮助。

关于java - 单元测试 - 在哪里放置初始化代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30679621/

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