2

背景:

我正在尝试对 cakephp 应用程序进行单元测试。该应用程序是在没有单元测试的情况下构建的。我想添加单元测试,以便可以结构化未来的开发。

该应用程序使用了许多枚举列,并且由于 cakephp 不支持枚举列,我无法继续为现有代码编写单元测试。我看到有人建议将 enum 转换为 tinyint 或 varchar。如果枚举字段仅包含两个选项(例如启用/禁用、true/false、活动/非活动),我会尝试该解决方案,因为它不需要更改代码,但对于具有更多值的枚举字段,它不是一个简单的解决方案。

问题:

有没有一种更简单的方法可以为预构建应用程序编写单元测试,并且更改最少?

4

1 回答 1

0

如果你用谷歌搜索,你会发现几种不同的 - 并且工作良好的 - 方法。我个人更喜欢类常量和静态方法来轻松访问它们(包括 i18n): http: //www.dereuromark.de/2010/06/24/static-enums-or-semihardcoded-attributes/

但是你也可以使用 EnumBehaviors 或 ArrayDatasources 等。如果你用谷歌搜索的话,还有很多其他的解决方案。

对我来说重要的是,第一个解决方案允许您使用自定义烘焙模板并烘焙您的代码已经枚举就绪,其中包含所有枚举下拉列表。而且,它非常快,因为它不需要任何数据库查找来将 int 值形成一个用户友好且可能翻译的字符串值。您还可以使用子集枚举(一些而不是全部可用)并根据需要重新排序它们。

于 2013-06-09T14:11:36.043 回答