【发布时间】:2012-02-11 23:56:59
【问题描述】:
我正在尝试为使用 MVP 架构的示例项目编写单元测试。 当我运行测试时,我收到以下错误消息:
UnitTests.Tests.testCopy:
预期:“测试...”
但是是:null
我在我做的sn-ps下面发帖:
namespace Copy
{
public interface IView
{
string Copy { get; set; }
string Original { get; }
event EventHandler Changed;
}
public class Presenter
{
private IView view;
public Presenter(IView view)
{
this.view = view;
this.view.Changed += new EventHandler(OnChanged);
}
public void OnChanged(object sender, EventArgs e)
{
view.Copy = view.Original;
}
}
public partial class Form1 : Form, IView
{
private Presenter presenter;
public Form1()
{
InitializeComponent();
presenter = new Presenter(thisIView);
this.t_originalviewMock.TextChanged += OnChanged;
}
public string Original
{
get { return t_originalMockInstance).Text; }
}
public string Copy
{
get { return t_copy.Text; }
set { t_copy.Text = value;}
}
private void OnChanged(object sender, EventArgs e)
{
if (Changed != null)
Changed(sender, e);
}
public event EventHandler Changed;
}
}
单元测试代码:
namespace UnitTests
{
[TestFixture]
public class Tests
{
private DynamicMock viewMock;
private Presenter presenter;
[SetUp]
public void setup()
{
viewMock = new DynamicMock(typeof(IView));
presenter = new Presenter((IView)viewMock.MockInstance);
}
[Test]
public void testCopy()
{
viewMock.ExpectAndReturn("get_Original", "Testing ...");
viewMock.Expect("get_Cpoy");
Assert.AreEqual("Testing ...",
((IView)viewMock.MockInstance).Copy);
}
}
}
感谢您的帮助。
【问题讨论】:
标签: c# unit-testing mocking tdd nunit