【发布时间】:2015-03-08 02:54:17
【问题描述】:
我有大约 200 个单元测试,用于针对具有异步消息传递 API 的模拟硬件运行的应用程序。所有测试都单独运行和通过,但由于外部调用的异步性质,其中许多测试在作为一个组运行时会失败。
有没有一种方法可以在 vs 2012 中设置测试序列,以便在每次测试后添加一小段延迟,让外部人员有机会清除缓存?
编辑: 顺序似乎也有些重要,某些测试比其他测试锁定外部资源的时间更长。
我知道这些是集成测试和单元测试。其中大部分是单元测试,其中大部分是模拟服务,其中大部分是 api 集成测试。
我继承了这套测试,因此“集成测试”和“单元测试”的分离超出了我的控制范围。
一点背景:我们在这里与 LabView dll 进行交互,这些 dll 带有我们正在尝试缓解和煽动的一系列怪癖。
【问题讨论】:
-
你是用
MSTest还是别的什么? -
这里请注意:如果测试由于排序而失败,则它们不是单元测试。这是一个非常糟糕的代码气味,应该修复原因本身,而不是通过延迟/订单来解决。但是,如果您想要端到端/集成测试,可能有适合的框架。
-
另外,根据您的编辑,您的测试似乎直接调用外部资源。 IMO 您应该研究的第一步是嘲笑除您正在测试的课程之外的所有其他内容。如果不是孤立的,就不是单元测试。
-
在 MSTest 上是的。
标签: c# unit-testing visual-studio-2012 testing