¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: [TDD] Test Driving WPF


 

Yes, sorry if I wasn't clear. the XAML and the underlying .cs file would be in the same project. But the actual Model, controllers, and other services which are pure code and don't rely on a GUI would be in a separate project. ?(Mainly to deal with the resources issue)

brought to you by the letters A, V, and I
and the number 47


On Wed, Nov 6, 2013 at 11:33 AM, Gishu Pillai <gishu.pillai@...> wrote:
?

Hi Alan,
I didn't find any such guidance last time I checked.. I wanted to create a non-trivial example but procrastinated.

Caliburn looked interesting.. but no testability-oriented tutorials.
Don't step into Prism.. it has a different definition for MVVM. It is a view-first framework.. and hence diff to test without the GUI.

.Net allows you to reference exe assemblies as well as dll assemblies - so that's not a concern as far as unit-testing is concerned. You may still want to keep your exe project thin.. as the general advice goes..
View and ViewModel in different projects - not sure how it'd help ...? I usually keep them under named folders within the same project. The ViewModel is part of the presentation layer and as such usually tends to be hand-in-glove with the View..



On Wed, Nov 6, 2013 at 3:53 AM, Alan Baljeu <alanbaljeu@...> wrote:
?

I have been searching a lot for some guidance and am coming up short. ?Okay, maybe an easier question:

I believe that to unit test, you need to have code in a class library project rather than an application project. ?I also read that somebody suggests separating V and VM into two projects. ?Do you think this is right? ?Can anybody point me to instructions on doing this?
?
Alan Baljeu


From: Alan Baljeu <alanbaljeu@...>
To: "testdrivendevelopment@..." <testdrivendevelopment@...>
Sent: Tuesday, November 5, 2013 3:01:39 PM

Subject: Re: [TDD] Test Driving WPF

?
Not a clue. ?I'm presently trying to find a tutorial on TDD with Caliburn.Micro.
?
Alan Baljeu


From: Charlie Poole <charliepoole@...>
To: testdrivendevelopment@...
Sent: Tuesday, November 5, 2013 2:47:55 PM
Subject: Re: [TDD] Test Driving WPF

?
Yup, me too! More recently, I've done the same using a mock view.

Do you know how to do the same / similar with WPF?

Charlie


On Tue, Nov 5, 2013 at 6:20 AM, Alan Baljeu <alanbaljeu@...> wrote:
?
In earlier times with Windows Forms I did something like this:

[Test]
void Test()
{
? var presenter = new Presenter();
? var view = new View(presenter);
? view.Show();
? presenter.model.x = 3;
? Assert.That(view.xcontrol.Value == 3);
}

The details may be wrong but that was the concept.?

Alan Baljeu

From: Charlie Poole <charliepoole@...>
To: testdrivendevelopment@...
Sent: Monday, November 4, 2013 8:30:37 PM
Subject: Re: [TDD] Test Driving WPF

?
From my (very little) experience with WPF, DataBinding is where the testing gets hard. Of course, you don't want to test that databinding works, since it's part of WPF, but there's always the risk that you not set it up correctly. That's a piece I don't really know how to test except by looking at the GUI.

Charlie


On Mon, Nov 4, 2013 at 2:33 PM, Alan Baljeu <alanbaljeu@...> wrote:
?
Well yes, I consider MVVM a given, and Caliburn.Micro looks like a good option. ?Now for testing a view I think I should want a fake ViewModel that just gives the view fixed data in order to see how well this data or that data are presented. ?But I'm not at all sure about this concept.

(At the moment I'm just drawing stuff in WPF just for gauging looks. ?Not even a hint of logic is going anywhere. ?At some point I'll have to refactor and then introduce databinding etc.)

?
Alan Baljeu


On Monday, November 4, 2013 4:44:27 PM, David V¨ªlchez <dvilchez@...> wrote:
?
What's about MVVM and test the view model?

I would look for Caliburn.Micro


On 04/11/2013, at 20:55, Avi Kessner <akessner@...> wrote:

?
The general rule we have is to test the model and the controls that dictate the changes to the UI, but the UI itself can't be tested with unit tests. ? Alternatively, you can try to take screen shots and try to do jpg comparisons (but I don't recommend it)

brought to you by the letters A, V, and I
and the number 47


On Mon, Nov 4, 2013 at 6:54 PM, Alan Baljeu <alanbaljeu@...> wrote:
?
I'm kind of new to WPF and trying to TDD an application that uses it. ?I'm a little frustrated that Microsoft's default program architecture still isn't TDD friendly. ?It creates an application project and adds a window and an app level resource dictionary, none of which can be tested because a test system requires a DLL it can load. ?But if I create a new DLL, it loses connection to the base resources because that's in the exe and not available in testing.

So the architecture seems wrong, and I don't know what's a more ideal way to proceed. ?Or, is there something I'm missing about testing UI code.
?
Alan Baljeu














Join [email protected] to automatically receive all group messages.