一个函数,输入和具体硬件环境相关,如何做单元测试
windows环境下。我有一个函数,其输入是盘符,根据输入的盘符,返回不同状态。因为不同机器上,硬件环境不一样,这样,没办法将参数固定,然后将测试程序拿到各个机器上分别测试。这样的场景,该如何设计测试案例呢?我用的是GTest
另外,还有一个函数foo。输入还是盘符。这个函数还需要一个回调函数做为参数。foo内部只是简单的起线程,然后返回。线程函数要花很长时间完成,期间会调用回调函数通知工作线程状态。这个该如何写测试案例呢?
我的疑问是,如果测试案例只是调用foo,检查返回值,或者检查其他方面,将很快返回。测试程序将很快跑完了,但是实际上,工作线程还没有结束。 你好,我也遇到这样的问题,不知道你解决了没有: 我的QQ:850105610 希望能得到你的指点 本帖最后由 shinoy 于 2011-11-14 10:29 编辑
回复 1# BowMyHead
对于涉及到具体硬件依赖的测试,可以编写一些模拟硬件的桩模块。这些模块可以给被测函数所需要的参数或者接口。这些参数和接口都可以在桩模块中设定好。
关于第二个FOO函数的测试需要和一个工作线程同步,那你只有编写一个回调函数来实现类似工作线程的动作,虽然不做真实的动作,但是尽量模拟真实的情况,比如运行时间可以设定,隔一段时间通知主线程运行状态等。实际工作的模拟就用延时做可以了。
你说的也比较模糊,我只能用自己的理解估计你是这样的需求。希望能帮到你 感觉没必要吧,你要测的是函数,这个硬件条件只是那么一些可能的值,直接输入不就不行了
页:
[1]