Csharp/C#教程:NSubstitute检查已接来电不起作用分享


NSubstitute检查已接来电不起作用

嘿伙计们我是NSubstitute框架的新手。 我正在尝试测试我的一些课程,但是当我使用NSubstitute检查收到的电话时,它说没有收到匹配的电话。

我正在尝试测试方法Tick()是否从track类接收update()。

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ATM_System.Event; using ATM_System.EventDetection; using ATM_System.Region; using ATM_System.Track; namespace ATM_System { public class ATM { private List _tracks; private IRegion _region; private List _eventdetects; private List _events; public ATM() { _tracks = new List(); _region = new Region.Region(100000,100000); //could be changed by user _events = new List(); _eventdetects = new List(); } public void Tick() { // update track positions foreach (var track1 in _tracks) { track1.update(); } //check for events foreach (var detector in _eventdetects) { _events.AddRange(detector.DetectEvent(_tracks)); } //handle events and output foreach (var event1 in _events) { event1.HandleEvent(); event1.LogEvent(); } } public void IncomingTrack(ITrack track) { //add incoming track _tracks.Add(track); } } } 

测试文件

 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ATM_System.Event; using ATM_System.EventDetection; using ATM_System.Track; using NUnit.Framework; using NSubstitute; namespace ATM_System.Tests.Unit { [TestFixture] class ATMUnitTests { private ATM _uut; private ITrack _track; private IEvent _event; private IEventDetection _eventDetection; [SetUp] public void Setup() { _track = Substitute.For(); _event = Substitute.For(); _eventDetection = Substitute.For(); _uut = new ATM(); } [Test] public void Tick_UpdateTracks_TracksUpdated() { _uut.Tick(); _track.Received().update(); } } } 

您忘记在通知接收器中包含_track 。 它只是没有订阅事件,因此没有得到通知。 要修复,只需调用您的IncomingTrack方法:

上述就是C#学习教程:NSubstitute检查已接来电不起作用分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 [Test] public void Tick_UpdateTracks_TracksUpdated() { _uut.IncomingTrack(_track); _uut.Tick(); _track.Received().update(); } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1015636.html

(0)
上一篇 2021年12月31日
下一篇 2021年12月31日

精彩推荐