October 2006 - Posts
Mike Taullty has a post on debugging your app's
and needing to see source using a combination of debugger and reflector. Although things do differ one approach is to use Rotor
, it really does depend on what your doing as to see if Rotor would be a good choice as a it is a limited sub-set of the .NET Framework after all. Rotor will let you run your app's under it's CLR and you can append a debugger like sos to it (and you can read the source files directly).
It was bound to happen sooner or later, someone comparing webforms to monorail. All of the pro's and con's make sense and from a webforms point of view it's cons like viewstate and pros like controls/vs support that stand out. For me monorails design is very important in that it follows MVC and you get an ideal world of a clean, light weight view and testability for controller and model. Anyone that has ever tried to unit test webforms will know it's a world of pain. Thats not to say you can't do patterns in webforms, MVP can be done (and Phil Hackk has a great example) but it does introduce complexities that may but folk off. In an ideal world
- webforms would have MVC baked in
- would support templates for light weight view genertion
- would bake in Atlas for templates to avoid page postbacks
I have been playing around with DLinq lately for unit test research. The May CTP C# 3.0 extensions for the most part work with unit test frameworks like MbUnit and NUnit and runners like td.net. DLinq is another story however, the lack of covariance in C# 3.0 means that you can't treat DLinq tables under their base type. So the thinking goes that rather than pass around DLinq table types it's easier to convert to a ICollection object like an ArrayList and pass to a MbUnit CollectionAssert.Contains. I have no idea what DLinq does to an ArrayList but the same ArrayList with the same data and same types will fail through CollectionAssert.Contains yet pass if created manually. TestDriven.net won't work full stop with DLinq and starts throwing CLR errors. So as it stands your stuck between a rock and a hard place for mixing DLinq with unit testing, it's a shame because I was pretty buzzed at the idea of mixing the two. Maybe when Orcas and .NET 3.0 turn up this will all change but for the time being it's not pretty.
If we look inside the CollectionAssert.Contains it iterates over the collection and compares to the item you expect. When it does this it treats both items as objects e.g.
value == expected
Where value and expected are fed in as objects. The problem with the dlinq fed array occurs when it compares the two values, despite being strings as the underlying type, despite being the same value they are not being seen as equal. If you look at them in VS during a debug
Clearly not right, yet if I manually populate the array then they are compared as they should be, why do I feel like Fox Mulder right now.
The IE team sent the Firefox folks a cake for shipping Firefox 2
, when MbUnit 2.3 ships me and the lads (and girls) would like a jam cake please.
Peli got me interested in Model Based Testing and every since it's been a personal research topic. Today I came across a MBT project from Microsoft Research called SpecExplorer, it comes complete with a download with all the bits (a C# variant called Spec# and a other tools) to let you explore MBT in your test research.
The man Phil
is rocking with MbUnit
, more on his eating habits here
The Adobe MAX show gets underway this week, Chafic Kazoun
will giving a session on .NET interop with Flex
will be occuring twice during the show
so if your going be sure to not miss that. I won't be attending the show but I really hope that the sessions are recorded like Mix so I can view them at a later date.
will be speaking at VBUG conference
tommrow on Microsoft Ajax (and Ajax in general) security
, the article he mentions is well worth reading. Given the rise of Ajax it's important that same security measures be taken when your work against sql injection or js injection attacks. On a different note I see that the conference agenda has no testing tracks :(
More Posts Next page »