Bonjour,
J'essaie d'écrire un test unitaire d'un exemple qui utilise l'architecture MVP.
Lorsque je lance le test, j'ai le message d'erreur suivant:
Je poste ci-dessous les bouts de code que j'ai fait:UnitTests.Tests.testCopy:
Expected: "Testing ..."
But was: null
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 namespace Copy { public interface IView { string Copy { get; set; } string Original { get; } event EventHandler Changed; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 namespace Copy { 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; } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; using NUnit.Mocks; using Copy; 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); } } }Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 namespace Copy { public partial class Form1 : Form, IView { private Presenter presenter; public Form1() { InitializeComponent(); presenter = new Presenter(this); this.t_original.TextChanged += OnChanged; } public string Original { get { return t_original.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; } }
Partager