ColdFusion 单元测试框架

Posted

技术标签:

【中文标题】ColdFusion 单元测试框架【英文标题】:ColdFusion unit test frameworks 【发布时间】:2011-11-28 04:16:29 【问题描述】:

作为一个相关的子问题 - 是否有任何 CF 单元测试框架支持或使其更容易使用模拟/存根?

我在快速 google 中发现看起来最有前途的 2 个是 MXUnit 和 CFUnit。还有其他的吗,哪些具有最广泛的采用和积极的发展?足够多的问题塞进一个?

基本上我想做出一个好的选择。

edit 请注意,在最初编写问题时,MXUnit 是首选,而 TestBox 几年后都不会出现在 github 上。有关已接受的答案,请参阅 cmets。

【问题讨论】:

见carehart.org/cf411/#cfmlunittest 【参考方案1】:

可以肯定的是,唯一仍在积极开发中的 CF 单元测试框架是 MXUnit。

查看 MockBox(也在积极开发中)以获得使用模拟/存根的支持。http://wiki.coldbox.org/wiki/MockBox.cfm

编辑:一定要关注 MXUnit 谷歌组。 http://groups.google.com/group/mxunit/topics

【讨论】:

MXUnit 也通过 MightMock - wiki.mxunit.org/display/default/Mocking+and+Stubbing 支持模拟。如果您宁愿将其换成 Mockbox,那么它们也可以让您这样做 - wiki.mxunit.org/display/default/… 还有 RocketUnit rocketboots.com.au/blog/… 太棒了 - 很好的信息。这就是 SO 的美妙之处——在我的特殊情况下寻找类似答案的人也有望从了解 MightMock、Mockbox、RocketUnit 和 Selenium(见 mz_01 的答案)之类的东西中受益,这些东西只是谷歌搜索可能只会很快出现 MXUnit 和 CFUnit。谢谢大家:) 更改接受的答案以反映事物的当前状态。看起来 MXUnit 最近几年提交的次数不多,TestBox 正在积极开发中。希望这可以帮助任何开始在 CF 中进行测试的人。【参考方案2】:

TestBox 是一个新的 xUnit 和 BDD 风格的框架,它与 MXUnit 兼容,并带有一个完整的模拟和存根库 MockBox。 Ortus Solutions 积极开发并提供专业支持。

https://testbox.ortusbooks.com/introduction/installing-testbox

https://testbox.ortusbooks.com/mocking/mockbox/installing-mockbox

【讨论】:

嘿布拉德!感谢您添加这个。这是我最近了解到的,我很高兴能进一步了解它。一旦我有机会根据我的经验在这里(以及接受的答案)挖掘和更新 cmets。我什至可以将其更改为已接受的答案:) 没问题。 MXUnit 基本上停止了所有新的开发已经有一段时间了。如果您有任何问题或需要帮助,请加入主要的 ColdBox Google 群组:groups.google.com/forum/?hl=en#!forum/coldbox 这是对 TestBox 的视频介绍:blog.coldbox.org/blog/coldbox-connection-video-intro-to-testbox 以下是您可以在浏览器中运行的实时 TestBox 示例:runnable.com/UsyCKoc0i3w-AADF/… TestBox 不只与 CF 10 兼容吗? 这是不正确的。您可以在 CF9 上使用 TestBox 进行 XUnit 和 MXUnit 兼容性测试。正是 BDD 风格的测试需要闭包,因此只能在 Railo 和 CF10 上完成。这一切都在我们的文档中进行了解释:wiki.coldbox.org/wiki/TestBox.cfm#System_Requirements @BradWood 链接已失效。【参考方案3】:

别忘了http://github.com/bobsilverberg/CFSelenium

【讨论】:

我在 Selenium 或 CFSelenium 中进行测试的经验很少,但我很好奇 - 模拟在哪些方面发挥了作用? Selenium 不是用于用户界面测试而不是单元测试吗? Selenium 或 QUnit 等项目也可用于测试任何基于 javascript 的业务逻辑(例如,输入验证的客户端阶段)。并且不要忘记可以将服务器端测试(例如 MXUnit)和客户端测试(例如 Selenium)结合起来。想想诸如针对 CF Web 服务测试 AJAX 请求之类的东西。

以上是关于ColdFusion 单元测试框架的主要内容,如果未能解决你的问题,请参考以下文章

单元测试框架选择

JUnitJava 单元测试框架 | 学习笔记

实验五 单元测试

实验五 单元测试

单元测试框架-Unittest

python单元测试框架unittest