Nov*_*zky 3 .net c# nunit unit-testing
我正在编写一个客户端,每秒向服务器发送一个"心跳信号".客户端在后台线程中调用WCF服务以报告其活动.
如何对此进行单元测试?我是否需要等待几秒钟并检查是否多次调用了适当的方法?
它应该是某种情景测试吗?也许我不应该担心在整个客户的整个生命周期中不断调用服务?
我可以测试对WCF服务的单个调用,但它不测试"心跳模式".
我正在使用TDD方法.(C#,NUnit,Moq)
有什么建议或例子吗?
编辑:
我认为还不够清楚.
这是我所拥有的更简单的版本:
public class FeedService
{
private Timer t;
public FeedService()
{
t.Interval = 1000;
t.Elapsed += TimerElapsed;
t.Start();
}
private void TimerElapsed(object sender, ElapsedEventArgs e)
{
t.Stop();
SendHeartbeat();
t.Start();
}
}
Run Code Online (Sandbox Code Playgroud)
......这是我的考验:
[Test]
public void Heartbeat_called_twice_after_2_seconds()
{
var mockFeedService = new Mock<FeedService>();
Thread.Sleep(2000);
mockFeedService.Verify(x => x.SendHeartBeat(), Times.AtLeast(2));
}
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
1)为什么我的测试总是失败?我做错了什么?
2)我应该测试一下吗?
| 归档时间: |
|
| 查看次数: |
1208 次 |
| 最近记录: |