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

时间:2015-05-18 11:20:11

标签: unit-testing coldfusion frameworks coldfusion-9

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

当我运行单元测试文件时,它已经通过通用'模型'它从单元测试文件中检索所有函数。在每个测试函数中,我必须调用assertEquals - 但这些函数在模型中,因此我无法访问它们。

我尝试将模型本身传递给单元测试文件,以便它可以直接调用模型函数,但它不起作用,它会为测试文件添加逻辑,这是我不喜欢的。< / p>

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

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

1 个答案:

答案 0 :(得分:6)

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

myInstance["methodName"] = myFunction;

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

myInstance.myFunction();

MXUnit和TestBox都使用这种技术。

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

有一本好书(可以免费提供),你可以在这里阅读TestBox:http://testbox.ortusbooks.com/

祝你好运!