在 Coldfusion 中从头开始创建一个简单的单元测试框架

Create a simple unit tests framework from scratch in Coldfusion

我知道现在有用于测试 ColdFusion 应用程序的工具(MXUnit、MockBox),但我正在创建一个自定义工具,因此它需要的配置更少。

当我 运行 一个单元测试文件时,它是通过 通过 通用 'model' 完成的,它从单元测试文件中检索所有函数。在每个测试函数中,我必须调用 assertEquals——但是这些函数在模型中,所以我无法访问它们。

我尝试将模型本身传递给单元测试文件,这样它就可以直接调用模型函数,但它不起作用,而且它向测试文件添加了我不喜欢的逻辑。

我也可以在测试文件中扩展模型,但我必须直接调用测试文件,调用 super.init(this) 以便模型可以获取测试函数等。

有没有办法实现这种过程?最好的选择是什么?

在回答您的问题时,听起来您想将变量/方法注入到被测对象中。你可以这样做:

myInstance["methodName"] = myFunction;

然后您可以像这样调用注入的方法:

myInstance.myFunction();

MXUnit 和 TestBox 都使用了这种技术。

话说我不太明白你为什么要重新发明轮子。 TestBox 是一个优秀的、经过验证的测试框架,它具有丰富的功能,需要您花费大量的时间来复制。我不太确定您遇到的配置问题可能是什么 - 它确实不需要太多设置。也许值得询问如何设置和使用 TestBox 而不是如何构建您自己的测试解决方案:)

有一本好书(有免费版),您可以在此处的 TestBox 上阅读:http://testbox.ortusbooks.com/

祝你好运!