【问题标题】:When do I use MiniTest::Unit::TestCase versus MiniTest::Spec?何时使用 MiniTest::Unit::TestCase 与 MiniTest::Spec?
【发布时间】:2012-01-13 06:00:04
【问题描述】:

我一直在使用 MiniTest 学习 TDD/BDD。我要弄清楚的是我的代码的哪些部分应该使用 MiniTest::Unit::TestCase 进行测试,哪些部分应该使用 MiniTest::Spec 进行测试。

我了解单元测试和集成测试之间的区别,我似乎无法从网络上的示例中了解 TestCase 和 Spec 是否都是单元测试,或者 TestCase 是否用于单元测试以及用于集成测试的规范?

我是否应该在 MiniTest::Unit::TestCase 类中保留我的快速单元测试和在 MiniTest::Spec 期望中更经常描述功能的更长的集成测试?这是否重要,还是个人喜好问题?

【问题讨论】:

    标签: ruby tdd bdd


    【解决方案1】:

    我是使用MiniTest::Unit(与assertions)还是MiniTest::Spec,取决于我为谁编写它们。

    对于我自己编写的代码,没有任何“客户”要求,我会使用 MiniTest::Unit。这些测试对我来说很有意义,阅读它们很简洁。

    如果我要为有一系列需求的客户编写代码,我会使用 MiniTest::Spec。规范文件对于非程序员来说更具可读性。


    注意:MiniTest 去年进行了大修,所以一些模块名称发生了变化,但想法是一样的,MiniTest 支持更简洁或更冗长的单元测试编写方式。

    【讨论】:

    • 所以它们本质上是做同一件事的两种不同方式?只是语法不同...?
    • 差不多。编写单元测试有许多不同的“语言”,它们归结为说同一件事的不同方式。他们针对不同类型的人添加了不同层次的详细信息。开发人员倾向于喜欢带有断言的通用单元测试的简洁性。对于不“谈论编程”的项目经理和/或客户,Spec 效果更好,或者使用更常见的术语来表达相同的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多