如何单元测试机器控制功能或中间件控制功能

时间:2010-11-18 07:02:26

标签: unit-testing testing

我的程序(服务器)通过一些中间件连接到客户端 我在程序中创建了midle-ware初始化函数。

init_middleware()
{
  if (middle-ware can not started) // then middle-ware throw exception
    return exception;
  else
    return success;
}

如何对init_middleware功能进行单元测试?

我认为init_middleware函数只有一个失败条件,即无法启动中间件时。但是,我无法在单元测试中发生这种情况。

谢谢。

2 个答案:

答案 0 :(得分:3)

这取决于您要测试的内容。

测试init_middleware()函数

如果要测试init_middleware()函数,一个选项是为函数提供Mock middle-ware个对象。 Mock对象返回完全cover函数所需的值。

测试中间件对象

如果你想测试middle-ware对象本身,真的没什么可做的,但实际上使用真实对象。它不会被称为单元测试,而是integration甚至system测试。

答案 1 :(得分:0)

在严格的单元测试术语中,您不应该这样做。中间件是一种外部资源,就像您的磁盘,网络甚至数据库一样。由于这些东西位于代码边界之外(您正在测试),因此真正的单元测试不应包含这些内容。

用存根替换中间件访问代码,或者如果你需要来自它的实际反馈,请使用像Lieven提出的Mocks。