|
|
1
23
我并不完全清楚你在问什么,但我会假设这是一个大致的问题,“如果我有一个类,我用一个模块扩展了这个类,我应该在哪里测试这个模块提供的功能?” 就我个人而言,当我编写一个用作mixin的模块时,我会尽量确保它具有相当健壮的测试,独立于我可能最终计划将其混合到的任何类。通常,我会在测试套件中定义一个只扩展到模块的类,然后编写测试以确保测试类具有所有预期的功能(你可以在我的文章中看到这样的例子 Classy gem,它只是一个mixin模块的集合。)如果这个模块是为了扩展ActiveRecord或其他我无法控制的类,我会尽可能地定义一个ActiveRecord类并使用它,尽管在理想情况下,我会尽量使我的模块的功能与ActiveRecord的功能正交。 如果对ActiveRecord的更改导致测试中断,那么就有一个问题:编写模块的目标是什么。如果您想让它对公众普遍可用和有用,那么您可能希望它与最新版本一起工作,并且那些失败的测试准确地报告了需要修复的bug。如果您只想让它与您在本地为自己的项目运行的任何版本一起工作,那么您只需对该版本运行测试,就不必担心它的更改。
|
|
cluster1 · 采取独立的新行动的好处是什么? 1 年前 |
|
|
Robert · 使用JSON或哈希时,将NULL替换为NIL 1 年前 |
|
|
Fred Willmore · Rails控制器不呈现任何模板 2 年前 |
|
|
Diogo Amaral · 实现API请求的正确方式 2 年前 |
|
|
Meknassih · 在控制器方法中分配给模型没有任何作用 2 年前 |
|
|
Michael Ding · Rails上的默认会话到期问题 2 年前 |
|
|
Flávio · 基于另外两个生成数组 2 年前 |