如何在 vs2012 中创建集成/单元测试排序

本文关键字:集成 单元测试 排序 创建 vs2012 | 更新日期: 2023-09-27 18:37:08

我有一个应用程序大约 200 个单元测试,这些应用程序针对具有异步消息传递 API 的模拟硬件运行。所有测试都单独运行和通过,但由于外部调用的异步性质,其中许多测试在作为一个组运行时会失败。

有没有办法在 vs 2012 中设置测试排序,以便我可以在每次测试后添加一个小延迟,让外部有机会清除其缓存?

编辑:顺序似乎也有些重要,某些测试锁定外部资源的时间比其他测试更长。

我知道这些是集成测试和单元测试。其中大部分是单元测试,大部分是模拟服务,大部分是 API 集成测试。

我继承了这套测试,所以"集成测试"和"单元测试"的分离是我无法控制的。

一点背景:我们在这里与LabView dlls接口,它们有自己的一套怪癖,我们试图缓解和煽动这些怪癖。

如何在 vs2012 中创建集成/单元测试排序

是的,您可以使用以下内容添加等待:

System.Threading.Thread.Sleep(5000);

购买 相反,我建议您创建一个简单的LabVIEW函数,该函数在while循环中查询所有仪器的状态,并"等待"每个仪器的响应。例如,如果您使用的是 GPIB,则标准查询为:

*IDN?

您 还 可以 查看 NI 的 TestStand 产品, 它 专门 设计 用于 协调 复杂 的 异步 测试, 我相信 它 具有 一个 可以 从 C# 访问 的 API。http://www.ni.com/teststand/whatis/

如果您

使用的是VS 2012或更高版本,则还有假货,这是MS模拟。

否则,RhinoMock 的效果相当不错。 有点学习曲线。

我还分解了类以分离彼此冲突的单元测试。