unit-testing - 对于被测类是应该在 fixture 中还是在测试中构建,是否有标准?

标签 unit-testing testing fixtures

我很好奇,是否有任何标准准则说明被测类的实例应该在 fixture 中还是在实际测试用例中构造?

谢谢!

最佳答案

我不知道关于该主题的标准引用。这是我要做的:

如果我只有一个测试要写,或者如果我需要一个被测类的实例,它的构造不同于我的测试套件中该类的任何其他实例,我只需在测试中实例化它。为什么要让它变得更复杂?如果我需要一遍又一遍地使用同一个实例,我会把它放在固定装置中。

我确实认为只构建给定测试用例所需的装置很重要,这样就不会误导读者。这意味着要么使用您的测试框架提供的任何范围机制(例如 rspec context block 或全新的 xUnit TestCase)仅在需要它的测试之前构造给定的 fixture ,要么从 fixture 中移动实例构造去测试。为避免重复,您始终可以编写一个方法来构造一个实例,并根据需要从尽可能多的测试中调用它。

关于unit-testing - 对于被测类是应该在 fixture 中还是在测试中构建,是否有标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23600230/

相关文章:

c++ - 使用链表 C++ 的二叉搜索树 (BST) 删除函数的测试用例

symfony - 如何在 Symfony2 中使用 Behat 和 Liip\FunctionalTestBundle?

ruby-on-rails - 与 Rails Fixtures 没有关联......如何修复?

ios - swift 中包含 AWSAPIGatewayResponse 的单元测试方法

c# - 我的类(class)有 30 个属性,单元测试很痛苦不是吗?

python - Python 中的懒惰评估?模块之间?

python - ScopeMismatch 将 session 范围的 fixture 与 pytest-mozwebqa 插件一起用于 py.test

java - 单元测试双向转换器

c# - NUnit 在测试中保持静态数据

android - 任务 ':app:transformClassesWithDexForDebugAndroidTest' 执行失败。 > com.android.build.api.transform.TransformException