gpt4 book ai didi

unit-testing - 提供默认构造函数是否被认为是测试的最佳实践?

转载 作者:行者123 更新时间:2023-11-28 21:34:38 25 4
gpt4 key购买 nike

我正在使用 Moles 框架进行模拟。我遇到了一些没有无参数构造函数的对象的障碍。当我创建有问题的对象时,我必须提供一个 ID,它会启动对数据库的调用以设置对象属性。这意味着通过 Moles 进行更多拦截。 如果对象有一个简单的构造函数,我的测试就会顺利得多。

我记得在某处听说提供默认构造函数对于测试很重要。当我去谷歌确认我的记忆时,我找不到答案。

提供无参数构造函数:对测试有帮助还是重要?无关紧要?

最佳答案

我认为无论如何你都不应该在你的对象构造函数中做那种事情,因为它把你的测试与你的数据库联系得太紧密以至于没有任何用处。依赖注入(inject)框架,如 Ninject会在这里有很大帮助。您没有默认构造函数,但您进行了一些设置,让 Ninject 将您创建测试对象时所需的一切粘合在一起。

我只是开始使用 Ninject(并使用 Moq),所以我没有大量的经验,但它消除了对用于测试的默认构造函数的需要。它还可以进行更多整理,并有助于使您的测试完全独立于任何外部事物。

我知道这是一个与语言无关的问题,因此 Ninject 可能与您无关,但这是我对单元测试的一般看法。

关于unit-testing - 提供默认构造函数是否被认为是测试的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4341086/

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