Ruby 什么时候使用MiniTest::Unit::TestCase与MiniTest::Spec?

Ruby 什么时候使用MiniTest::Unit::TestCase与MiniTest::Spec?,ruby,tdd,bdd,Ruby,Tdd,Bdd,我一直在使用MiniTest学习TDD/BDD。我试图弄清楚的是,我的代码的哪些部分应该使用MiniTest::Unit::TestCase进行测试,哪些部分应该使用MiniTest::Spec进行测试 我理解单元测试和集成测试之间的区别,但我似乎无法从web上的示例中理解测试用例和规范是否都是单元测试,或者测试用例是否用于单元测试,规范是否用于集成测试 我是否应该在MiniTest::unit::TestCase类中保留快速单元测试,并在MiniTest::Spec期望中保留更长的集成测试(它

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

我理解单元测试和集成测试之间的区别,但我似乎无法从web上的示例中理解测试用例和规范是否都是单元测试,或者测试用例是否用于单元测试,规范是否用于集成测试

我是否应该在MiniTest::unit::TestCase类中保留快速单元测试,并在MiniTest::Spec期望中保留更长的集成测试(它们通常描述特性)?这有关系吗,还是个人偏好的问题?

我是否使用vs,取决于我是为谁写的

对于我自己编写的代码,在没有任何“客户”需求的情况下,我会使用MiniTest::Unit。这些测试对我来说很有意义,读起来很简明扼要

如果我为有需求列表的客户编写代码,我会使用MiniTest::Spec。对于非程序员来说,Spec文件更容易阅读



注意:MiniTest在去年经历了一次大修,因此一些模块名称发生了变化,但想法是一样的,MiniTest支持更简洁或更详细的编写单元测试的方式。

那么它们本质上是两种不同的方式来做同一件事?只是语法上的不同?差不多。编写单元测试有许多不同的“语言”,它们可以归结为表达同一事物的不同方式。他们针对不同类型的人添加了不同层次的冗长。开发人员倾向于喜欢带有断言的通用单元测试的简洁性。对于不“谈论编程”的项目经理和/或客户来说,Spec工作得更好,或者使用更通用的术语来表达相同的内容。