Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有嵌入式应用程序的.NET测试单元_C#_.net_Unit Testing_Embedded - Fatal编程技术网

C# 带有嵌入式应用程序的.NET测试单元

C# 带有嵌入式应用程序的.NET测试单元,c#,.net,unit-testing,embedded,C#,.net,Unit Testing,Embedded,我编写了一个在windows embedded上运行的应用程序。该应用程序从不同的串行端口读取数据,进行一些数据分析,并将数据发送到另一台机器,主要是db 应用程序在上一阶段急剧增长,我们需要添加一些测试单元以减少物理测试阶段 现在,我需要一些建议来了解如何模拟串行端口以及模拟外部设备的正确方法。 一个小问题是由于一些计时器里面的代码有反弹的效果,我该怎么办?在没有反弹跳计时器的情况下进行了特殊构建 同时,代码被写成一个大的有限状态机,测试一个状态很简单,但是状态之间的相互作用呢 最好的祝愿我通

我编写了一个在windows embedded上运行的应用程序。该应用程序从不同的串行端口读取数据,进行一些数据分析,并将数据发送到另一台机器,主要是db

应用程序在上一阶段急剧增长,我们需要添加一些测试单元以减少物理测试阶段

现在,我需要一些建议来了解如何模拟串行端口以及模拟外部设备的正确方法。 一个小问题是由于一些计时器里面的代码有反弹的效果,我该怎么办?在没有反弹跳计时器的情况下进行了特殊构建

同时,代码被写成一个大的有限状态机,测试一个状态很简单,但是状态之间的相互作用呢


最好的祝愿

我通常做的是创建一个类,它的全部目的是与外部设备交互,我让它实现一个接口

public interface IExternalDeviceInteractor
{
    string GetAStringFromTheDevice();
}

public class ExternalDeviceInteractor : IExternalDeviceInteractor
{
    public string GetAStringFromTheDevice()
    {
        //interact with device here
    }
}
然后,我创建了一个实现接口的类,并输出测试数据

public class MockExternalDeviceInteractor : IExternalDeviceInteractor
{
    public string GetAStringFromTheDevice()
    {
        return "StringForTesting";
    }
}

我通常做的是创建一个类,它的全部目的是与外部设备交互,我让它实现一个接口

public interface IExternalDeviceInteractor
{
    string GetAStringFromTheDevice();
}

public class ExternalDeviceInteractor : IExternalDeviceInteractor
{
    public string GetAStringFromTheDevice()
    {
        //interact with device here
    }
}
然后,我创建了一个实现接口的类,并输出测试数据

public class MockExternalDeviceInteractor : IExternalDeviceInteractor
{
    public string GetAStringFromTheDevice()
    {
        return "StringForTesting";
    }
}

好的,我必须测试一个信号,在3秒内是3.0,之后上升到12.0。我的大问题是函数必须是时间相关的,是什么阻止你不时返回不同的值呢?好的,我必须测试一个信号,3秒是3.0,之后上升到12.0。我的大问题是函数必须与时间相关,是什么阻止您不时返回不同的值?