如何在 vs2012 中创建 integration/unit 测试序列?
How do I create integration/unit test sequencing in vs2012?
我有一个应用程序 运行 针对具有异步消息传递 api 的模拟硬件进行了大约 200 个单元测试。所有测试 运行 并单独通过,但由于外部调用的异步性质,当 运行 作为一个组时,其中许多测试将失败。
有没有一种方法可以在 vs 2012 中设置测试顺序,以便我可以在每次测试后添加一个小延迟,让外部设备有机会清除缓存?
编辑:
顺序似乎也有些问题,某些测试锁定外部资源的时间比其他测试长。
我理解这些是集成测试和单元测试。其中大部分是单元测试,其中大部分是模拟服务,其中大部分是 api 集成测试。
我继承了这套测试,所以"integration tests"和"unit tests"的分离是我无法控制的。
一些背景信息: 我们在这里与 LabView dll 交互,它们有自己的一套怪癖,我们正试图减轻和煽动这些怪癖。
如果您使用的是 VS 2012 或更高版本,还有假冒的 MS 模拟。
否则 RhinoMock 工作得很好。有点学习曲线。
我也分解了类,把相互冲突的单元测试分开了。
是的,你可以用这样的方式添加等待:
System.Threading.Thread.Sleep(5000);
购买 我建议您创建一个简单的 LabVIEW 函数,在一个 while 循环中查询所有仪器的状态,并 "waits" 让每个仪器做出响应。例如,如果您使用的是 GPIB,则标准查询为:
*IDN?
您还可以研究 NI 的 TestStand 产品,它专门设计用于协调复杂的异步测试,我相信它有一个 API 您可以从 C# 访问。
http://www.ni.com/teststand/whatis/
我有一个应用程序 运行 针对具有异步消息传递 api 的模拟硬件进行了大约 200 个单元测试。所有测试 运行 并单独通过,但由于外部调用的异步性质,当 运行 作为一个组时,其中许多测试将失败。
有没有一种方法可以在 vs 2012 中设置测试顺序,以便我可以在每次测试后添加一个小延迟,让外部设备有机会清除缓存?
编辑: 顺序似乎也有些问题,某些测试锁定外部资源的时间比其他测试长。
我理解这些是集成测试和单元测试。其中大部分是单元测试,其中大部分是模拟服务,其中大部分是 api 集成测试。
我继承了这套测试,所以"integration tests"和"unit tests"的分离是我无法控制的。
一些背景信息: 我们在这里与 LabView dll 交互,它们有自己的一套怪癖,我们正试图减轻和煽动这些怪癖。
如果您使用的是 VS 2012 或更高版本,还有假冒的 MS 模拟。
否则 RhinoMock 工作得很好。有点学习曲线。
我也分解了类,把相互冲突的单元测试分开了。
是的,你可以用这样的方式添加等待:
System.Threading.Thread.Sleep(5000);
购买 我建议您创建一个简单的 LabVIEW 函数,在一个 while 循环中查询所有仪器的状态,并 "waits" 让每个仪器做出响应。例如,如果您使用的是 GPIB,则标准查询为:
*IDN?
您还可以研究 NI 的 TestStand 产品,它专门设计用于协调复杂的异步测试,我相信它有一个 API 您可以从 C# 访问。 http://www.ni.com/teststand/whatis/