![]() |
1
23
我并不完全清楚你在问什么,但我会假设这是一个大致的问题,“如果我有一个类,我用一个模块扩展了这个类,我应该在哪里测试这个模块提供的功能?” 就我个人而言,当我编写一个用作mixin的模块时,我会尽量确保它具有相当健壮的测试,独立于我可能最终计划将其混合到的任何类。通常,我会在测试套件中定义一个只扩展到模块的类,然后编写测试以确保测试类具有所有预期的功能(你可以在我的文章中看到这样的例子 Classy gem,它只是一个mixin模块的集合。)如果这个模块是为了扩展ActiveRecord或其他我无法控制的类,我会尽可能地定义一个ActiveRecord类并使用它,尽管在理想情况下,我会尽量使我的模块的功能与ActiveRecord的功能正交。 如果对ActiveRecord的更改导致测试中断,那么就有一个问题:编写模块的目标是什么。如果您想让它对公众普遍可用和有用,那么您可能希望它与最新版本一起工作,并且那些失败的测试准确地报告了需要修复的bug。如果您只想让它与您在本地为自己的项目运行的任何版本一起工作,那么您只需对该版本运行测试,就不必担心它的更改。
|
|
wavesinaroom · 断言结构向量长度 5 月前 |
![]() |
Tim Kirkwood · 比较空数据帧 6 月前 |
![]() |
Kamran Khan · 使用单元测试ASP。NET核心 10 月前 |
![]() |
paymer · 为什么我的代码没有删除我的单元测试生成的zip文件? 11 月前 |
![]() |
Ricky Mo · 角度测试如何模拟导入的const 11 月前 |
![]() |
Natty · Visual Studio中缺少“代码覆盖率结果” 1 年前 |