我的程序(服务器)通过一些中间件连接到客户端 我在程序中创建了midle-ware初始化函数。
init_middleware()
{
if (middle-ware can not started) // then middle-ware throw exception
return exception;
else
return success;
}
如何对init_middleware
功能进行单元测试?
我认为init_middleware
函数只有一个失败条件,即无法启动中间件时。但是,我无法在单元测试中发生这种情况。
谢谢。
答案 0 :(得分:3)
这取决于您要测试的内容。
测试init_middleware()函数
如果要测试init_middleware()
函数,一个选项是为函数提供Mock middle-ware
个对象。 Mock对象返回完全cover函数所需的值。
测试中间件对象
如果你想测试middle-ware
对象本身,真的没什么可做的,但实际上使用真实对象。它不会被称为单元测试,而是integration甚至system测试。
答案 1 :(得分:0)
在严格的单元测试术语中,您不应该这样做。中间件是一种外部资源,就像您的磁盘,网络甚至数据库一样。由于这些东西位于代码边界之外(您正在测试),因此真正的单元测试不应包含这些内容。
用存根替换中间件访问代码,或者如果你需要来自它的实际反馈,请使用像Lieven提出的Mocks。