【发布时间】:2014-06-01 18:13:30
【问题描述】:
如何模拟连接到我的 c# 4.0 .NET 应用程序的外部设备?是否有一个特定的框架可以使它更容易? 我还没试过。
【问题讨论】:
-
我建议您先用谷歌搜索,因为快速搜索会为您提供一两个可能的答案
如何模拟连接到我的 c# 4.0 .NET 应用程序的外部设备?是否有一个特定的框架可以使它更容易? 我还没试过。
【问题讨论】:
首先,您可以通过在程序和硬件之间放置一些东西来让您的生活更轻松。例如,假设您有可以打开和关闭冰箱的硬件:
public class Fridge {
public void SwitchOn() {
// Call Fridge Hardware
}
public void SwitchOff() {
// Call Fridge Hardware
}
}
然后您可以从这个类中提取一个接口,如下所示:
public interface IPoweredAppliance {
void SwitchOn();
void SwitchOff();
}
现在您可以在程序中依赖IPoweredAppliance,为“现实生活”提供Fridge 类的实例,并在您的测试中提供测试替身。
您需要显式实现接口,因为 C# 名义上是类型化的...
public class Fridge : IPoweredAppliance {
您可以手动编写测试替身,也可以使用模拟框架,它会根据接口创建一个,这通常更容易。
任何模拟框架都非常简单...Rhino Mocks、MOQ、NMock2 - 我自己更喜欢 Rhino,但其他框架也不错。
【讨论】: